我已經初始化一個char **和在一個循環c char字符**,字符串數組空指針
char *argv[SIZE];
for(i=0 ; i < SIZE; i++){
argv[i] = (char *) malloc(64);
printf("ADDRESS %d Index %d\n",argv[i],i);
}
中的printf示出地址由160往上走用malloc分配代替64空間,是正常?
,並讓說,我指着第二個指數爲null
argv[1] = NULL;
他們我試圖通過
argv[1] = arg[0] + 64;
後,我嘗試釋放其崩潰的程序,使之指向其分配的內存位置loop
free(argv [i]);
那麼我該如何讓它指向它的原始位置呢? 160從哪裏來?
在此先感謝
我想'malloc'會實際上可以分配額外的空間用於跟蹤分配的內存,看到http://stackoverflow.com/questions/9390940/new-and-malloc-allocates-extra-16-bytes。 –
malloc分配空間。這個空間不確定的地方。 –