1,<stdlib.h> free() void free(void*ptr)
作用:釋放ptr參數指向的記憶體空間,但并不改變指針的值
用法:free()與malloc()配對使用,free釋放malloc申請的記憶體
#include<stdio.h>
#include<stdlib.h>
int main()
{
int p=(int)malloc(10*sizeof(int));//申請10個int類型空間,放在指針p中
if(p==NULL)
{
printf("配置設定記憶體失敗“);
}
scanf(“%d ” ,p);
printf("%d ",*p);
free(p);
printf("%d ",*p);
return 0;
}
256 256 0
注意:p為NULL時不執行任何操作,free(p)多少次都可以;
p為非空時 free (p)兩次會導緻程式運作錯誤;此時應将p設為空指針(p=NULL)
2, arr1[]={“hello word”}
arr2[]={"hello word"} arr1!=arr2 //在棧中開辟兩塊不同區域
arr3="hello word"
arr4="hello word" arr3==arr4//hello word 字元串常量,在隻讀資料區,不可改變