c++定义动态数组
来源:互联网 发布:福州淘宝美工培训 编辑:程序博客网 时间:2024/06/05 20:12
如: int Array[5];正确
int i=5;
int i=5;
int Array[i]; 错误 因为在编译阶段,编译器并不知道 i 的值是多少,定义语句先经过编译器进行编译,当编译器运行到此处时,发现i 不是常数,因此不能通过编译。 而之所以编译器认为i不是常数,是因为编译阶段,编译器起的作用是查语法错误,和预分配空间,它并不执行程序,因此,没有执行那个赋值语句(只是对这个语句检查错误,和分配空间),因此编译阶段,它将认为i是个变量。
如果 const int i=5;
int Array[i];
没有验证过,我猜应该是不行的,因为const只是代表只读属性,与编译过程没有影响吧。
动态定义二维动态数组
int size=50;
int (*p)[10]=new int [size][10];
如果二维数组的列也是动态定义的话:
int **p= new int*[size];//定义指针数组
for(int i=0;i<size;i++)
{
p[i]=new int[Column];
}
最后 ,因为调用了new, 千万千万别忘记在用完之后,将其所占资源 delete 掉
下面是delete方法:
for(int i=0;i<size;i++)
{
delete [] p[i]; // 要在指针前加[] , 否则的话 只释放p[i]所指的第一个单元所占的空间
}
delete [] p; //最后不要忘掉 释放掉开辟的指针数组
0 0
- C定义动态数组
- C语言中动态二维数组定义
- 动态定义数组malloc--C语言
- C语言中定义动态数组
- c/c++中使用宏来定义动态数组
- C语言中如何定义动态二维数组并输出
- 动态定义数组
- 动态定义数组
- 动态数组的定义
- 定义动态数组
- 动态定义数组
- 定义动态二维数组
- C++定义动态数组
- 动态定义数组
- C++定义动态数组
- C++定义动态数组
- 动态定义数组
- C++定义动态数组
- Centos6.5安装redis3.0.7
- HDU-2181 哈密顿绕行世界问题
- js url encode
- TimeSat 3.1中文经典教程(含下载地址)
- 原生js实现Ajax
- c++定义动态数组
- 使用ROP攻击技术
- POJ1363 Rails(栈)
- 基本字符串压缩
- 二叉树
- 制作yaffs格式的根文件系统出现的问题解决
- HDU-3533 Escape
- 优秀博客
- 用栈实现队列--20150924