
如果是new 出来的内存资源的话,那么就用delete释放,
如果是malloc分配出来的内存资源的话,那么就用free()释放。
例如:
char* c = new char[20] //new 一个char类型内存的数组
char *ptr =(char*)malloc(sizeof(char)*20) //malloc分配20个char类型的内存
delete c //释放c的内存
free(ptr) //释放ptr的内存
变量用delete释放,数组用delete[]释放,指针的类型不能改变。对于一些简单的情况(所有成员都是基本数据类型,没有析构函数),可以直接用delete释放。
例:
structNODE
{
intidata
doubleddata
}node[100]
//释放空间
delete[]node
//所有的数组类型释放空间都这样写
扩展资料
C语言数组
数组的声明并不是声明一个个单独的变量,比如number0、number1、...、number99,而是声明一个数组变量,比如numbers,然后使用numbers[0]、numbers[1]、...、numbers[99]来代表一个个单独的变量。数组中的特定元素可以通过索引访问。
所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)