我已經爲某些數據類型分配了內存並分配了一些值。現在使用free
是內存中的數據是否被刪除?如果分配的數據未被刪除,使用free
的用法是什麼?誰能幫我嗎?例如:c中的自由函數
int *arr;
arr=(int*)malloc(sizeof(int)*1000);
assert(arr!=NULL);
/*Some operation*/
arr[123]=354;
//some operations
printf("%d",*(arr+123));
//calling some funcs
free(arr);
printf("\n%d",*(arr+123));
'arr'和'arr2'之間的連接是什麼?這很混亂。 –
你在做什麼是未定義的行爲。如果它打印出合理的價值,那麼你應該認爲這是巧合。 –
查看此答案以獲取更多信息:http://stackoverflow.com/questions/1119134/how-do-malloc-and-free-work?lq=1 –