天天看点

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 字符串常量,在只读数据区,不可改变