今天学习了动态内存开辟的四个函数,分别是malloc,calloc,realloc,free 分别说明一下,各个函数的功能作用,malloc是向内存申请一个动态内存的空间,申请的格式是malloc(这里填要申请多少个字节,懒的算的可以直接10*sizeof(int)这样申请)申请成功后会返回一个地址,把这个地址给到一个对应类型的指针就行,建议是以这种格式int *p=(int*)malloc(40)这里我创建一个指针p,用malloc开辟一个40字节的动态内存,如果malloc开辟失败会返回一个NULL空指针,这时也要增加一个对malloc开辟是否成功的判断,开辟后用完需要释放掉需要用到free函数,free(p);p=NULL;free释放的时候 不会主动的把p指针置为空指针的,需要我们在后面把NULL空指针给p,第二个函数calloc这个函数跟malloc是相同作用的,不过有一些区别,calloc开辟的空间会初始化为0,malloc开辟的不会自动初始化,开辟的格式是calloc(数量多少,单个字节大小)使用方式跟malloc一样,成功会返回地址,不成功会返回空指针,用到动态内存函数的时候,都是跟free成对出现的,开辟,用完释放,置为空指针,最后一个函数也是最重要的,realloc这个是在已经开辟的动态内存,再重新开辟,使用格式realloc(这里填已经开辟的内存地址,修改成新的字节大小不是要增加多少个是新的总大小),realloc也可以做到像malloc函数的开辟空间功能,realloc(这里可以填空指针NULL,然后填要开辟的空间大小)这样他的作用就跟malloc一样了。
自我认知学习成果的第四天
于 2022-04-08 10:20:20 首次发布