我正在考慮在掃描時將內存並排分配給數組的程序。我結束了這個程序,它不工作! (當然,我正在做一個大錯誤;))需要幫助!提前致謝!將內存自動分配到數組
char *arr;
int c=1,i=0;
arr=(char*)calloc(c,sizeof(char));
do
{
arr[i]=getch();
printf("%c",arr[i]);
c=c+sizeof(char);
arr=(char*)realloc(arr,c);
i++;
}while(arr[i-1]!=13);
arr=(char*)realloc(arr,c);
arr[i]='/0';
printf("%d",sizeof(arr));
puts(arr);
free(arr);
什麼不工作?發生什麼事 ?另外,請注意,它經常需要重新分配指針。 – blue112
請注意'sizeof(arr)'會打印'char *'的大小(最有可能是8臺機器)。那是你要的嗎? – someguy
[請不要在C](http://stackoverflow.com/a/605858/28169)中投射'malloc()'和朋友的返回值。 – unwind