C++———动态内存分配

动态内存分配用于提高内存的利用率,在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;

}

你可能感兴趣的:(C++———动态内存分配)