C++中使用关键字new动态分配数组

C++中,可以使用new关键字动态分配指定类型的数组。

1 动态分配的格式

使用new动态分配数组的格式为

new 类型[数组大小]

此时,返回值是指定类型的指针。以下代码动态分配了一个整形数组,该数组包含10个元素,其首地址保存在指针pia中。

int* pia = new int[10];

需要注意的是,在直接定义数组时,数组的大小必须是常量,而使用new关键字动态分配数组时,即方括号中的大小不必是常量,但是必须是整数。

2 初始化数组元素

“1 动态分配的格式”中动态分配的数组并没有对其元素进行初始化。可以在方括号后面跟一对空括号,表示对其元素进行初始化。

int* pia2 = new int[10]();

int* psa = new string[10]();

以上代码动态分配了两个数组,其中pia2中元素的值都被初始化成0,而psa中的值都被初始化为空。

3 动态释放的格式

为了释放动态数组,需要在关键字delete之后加一个方括号。

delete []pia;

delete []pia2;

delete []psa;

数组中的元素按逆序销毁,即最后一个元素首先被销毁,然后是倒数第二个,以此类推。

猜你喜欢

转载自blog.csdn.net/hou09tian/article/details/80880891