动态内存分配用于提高内存的利用率,在c语言中使用malloc内置函数动态分配内存,而在c++中使用new运算符进行动态内存分配。
分配一个变量。
int main()
{
int *p;
p = new int;
*p =10;
}
分配一个数组
int main()
{
int *p;
p = new int[3];
for (int i = 0; i < 3; i++) p[i] = i;
}
new运算符的返回值为一个该类型的指针,所以该表达式的左方必须为一个该类型的指针
int *a=new int;
内存空间的销毁,使用delete运算符进行空间销毁。同一块空间不能进行多次的销毁。
单个变量的销毁。
int main()
{
int *p = new int;
*p = 10;
delete p;
}
连续空间,如数组的销毁。
int main()
{
int *p = new int[10];
for (int i = 0; i < 10; i++) p[i] = i;
delete[]p;
}
网友评论