在C中动态内存分配技术可以保证程序在运行过程中按照实际需要申请适量的内存,使用结果后还会释放,这种在程序运行过程中申请和释放的存储单元也称为堆对象。 在C程序中建立和删除堆对象使用两个运算符:new和delete 运算符new的功能是动态内存分配,语法形式为: new 数据类型 (初始化参数列表); 例如:
1 | int *t = new int; //这里是动态的创建了一个整形数据 |
这里需要的注意的是如果格式为:int *t = new int(); 这里的括号为对数据的初始化如果没有则不进行初始化。 使用delete进行对内存的释放。 创建一个动态一维数组:
1 | int *t = new int\[5\]; //这里动态声明了一个一维数组 |
释放一个一维动态数组:
1 | delete \[\] t; |
创建一个动态二维数组
1 | int (*t)\[5\] = new int \[5\]\[5\]; |
释放:
1 | delete \[\] t; |
一维数组用于字符串连接 (这里使用到了cstring头文件的strlen()得到字符串长度) 代码:
1 |
|
结果: 这里给出一个使用cstring头文件进行字符串的连接实例: 代码:使用string 声明字符串 + = 是重载的进行字符串连接操作的函数
1 |
|
结果: