动态空间的申请和释放

一.动态分配和是否存储单元的相关函数

(一).分配空间

1. malloc(size) : 在内存的动态存储中分配一个长度为size的连续空间(单位:字节,返回值的类型:指针)

2. calloc(n.size) : 在内存的动态存储中分配n个长度为size的连续空间

3.realloc(p,size) :将p所指向的已分配内存区的大学改为size,size可以比原来大/小

(二).释放空间

1. free(p) :释放由p所指向的内存区,使得这部分存储区能被其他变量使用,free无返回值

(三). 其他

1. sizeof(type) : 是C语言的一个单目操作符,不是一个函数,它返回一个对象或者类型所占的内存的字节数

二. new/delete的使用要点

(一).new的使用

1. 开辟单变量地址空间

        int *p = new int; (开辟了一个空间,数据类型为int,没有赋值)

        int *p = new int(5); (开辟了一个空间,数据类型为int,并且赋值为5)

2. 开辟数组空间

        一维: int *p = new int[100]; (开辟了一个数组,里面元素的数据类型是int,100个元素)

        二维: int (*p)[6] = new int[4][6]; (开辟了一个二维数组)

(二).delete的使用

1. 单变量空间的释放

        delete p;

2. 数组空间的释放 (一维/二维)

        delete []p;

        (注意:如果写成 delete p ,则只释放了第一个空间变量或者二维数组的一部分变量)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值