小弟今天突然發現原來自己對 malloc 超級不熟....
舉個例子
char *str = (char *)malloc(sizeof(char));
就我理解他是回傳一個char型態的位址,並且長度為1個 byte
但是我居然可以在裡面塞下很多東西,如下:
strcpy(str, "a");
printf("%s\n", str);
strcat(str, "b");
printf("%s\n", str);
strcat(str, "c");
printf("%s\n", str);
一樣可以印出 a, ab, abc
問題:str的buffer size到底是多少呢? 要怎麼印出來......(已爬文過 T___T