定义n个元素的一维数组
下面的代码无法实现定义n个元素的一维整型数组
int n;
cin >> n;
int array[n]; // c++ 不支持
动态申请
new运算符 –用于动态申请所需要的内存空间
1.动态申请单个变量
指针变量 = new 类型;
例如,动态申请一个double型变量,初始为100.0
duble *p;
p = new double;
*p = 100.0;
// 或
*p = new double(100.0); // 要有括号()
2.动态申请数组
指针变量 = new 类型[元素个数];
例如:动态申请存放80个字符的数组
char *str;
str = new char[80];
// 或
char *str = new char[80];
动态数组的应用 动态创建n个元素的一维整型数组
int n, *p;
cout << "请输入n的值:";
cin >> n;
p = new int[n];
if(p == NULL)
{
cout<<“空间申请失败!”;return 1;} // 如果申请失败,则 返回的指针值为NULL 即0值。
}
cout << "“请输入n个数:";
for(int i=0; i<n; i++)
{
cin >> p[i];
}
释放内存
delete运算符 :释放动态申请到的存储空间
1.动态释放单个变量: delete 指针变量; 2.动态释放数组 delete [] 指针变量
|