天天看點

22-11-4學習記錄

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 字元串常量,在隻讀資料區,不可改變