之所以把形参中的指针声明为 void* c语言里的free函数,是因为free必须可以释放任意类型的指针c语言里的free函数,而任意类型的指针都可以转换为void * 。
举例:
int* p = (int *) malloc(4);
*p = 100;
free(p); //释放 p 所指的内存空间
或者:
int* p = (int *) malloc ( sizeof(int) * 100 ); //分配可以放得下100个整数的内存空间 。
……
free(p);
free 不管c语言里的free函数你的指针指向多大的空间,均可以正确地进行释放,这一点释放比 delete/delete [] 要方便 。不过,必须注意,如果c语言里的free函数你在分配指针时,用的是new或new[],那么抱歉 , 当你在释放内存时,你并不能图方便而使用free来释放 。反过来,你用malloc 分配的内存,也不能用delete/delete[] 来释放 。一句话,new/delete、new[]/delete[]、malloc/free 三对均需配套使用 , 不可混用!
int* p = new int[100];
... ...
free(p);//ERROR! p 是由new 所得 。
关于c语言里的free函数和c语言中free函数的用法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 虎牙看直播为什么很卡啊,看虎牙直播为什么这么卡
- 技能考证招生如何推广,技能招生广告
- python公共数据分析实战,python数据分析简单案例
- 西语直播文案,西语直播文案素材
- php源码链接数据库 php连接数据库代码编码
- 电脑供电怎么开,电脑供电怎么算
- 网络最好玩的吃鸡游戏,最好玩的吃鸡游戏是什么名字
- php主从数据库 mysql主从库
- html5小游戏代码免费下载,html5小游戏源代码