一.动态分配和是否存储单元的相关函数
(一).分配空间
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 ,则只释放了第一个空间变量或者二维数组的一部分变量)