new 动态分配数组空间
2015-09-18 16:31
387 查看
(一)定义一个整数
int *p =new int;
int *p =new int(4); //赋初值4
(二)定义一个一维数组
int *p =new int[SIZE];
P 指向的为数组的首地址,数组是以int类型为基本单元的,p作为数组名使用
(三)定义一个二维数组
int(*p)[Column]=new int [SIZE][Column]
首先定义一个指针(*p)[Column], 它表示指针是以大小为 Column个int类型 空间为基本单元的, 后面的new int[SIZE]...表示开辟一个SIZE个这样大小的空间
上图 第一个指针表示的是前两种情况下的指针单元
第二个指针表示的是二维数组情况下的指针单元,由此可见,二维数组时,指针是以Column 个int大小的空间为一个基本单元的
p[0][0] 表示的是第0个这样的基本单元中的第0个元素的值
p[1][0] 表示的是第1个这样的基本单元中的第0个元素的值
因此,声明一个二维数组指针
int (*p)[Column];// p指向[Column]结构,而[Column]结构是以int类型为基准单元的
同理, 三维数组可同样定义如下:
int (*p)[Column_1][Column_2]=new int [SIZE][Column_1][Column_2]
参考资料:http://www.fish888.com/c-new-t171704
int *p =new int;
int *p =new int(4); //赋初值4
(二)定义一个一维数组
int *p =new int[SIZE];
P 指向的为数组的首地址,数组是以int类型为基本单元的,p作为数组名使用
(三)定义一个二维数组
int(*p)[Column]=new int [SIZE][Column]
首先定义一个指针(*p)[Column], 它表示指针是以大小为 Column个int类型 空间为基本单元的, 后面的new int[SIZE]...表示开辟一个SIZE个这样大小的空间
上图 第一个指针表示的是前两种情况下的指针单元
第二个指针表示的是二维数组情况下的指针单元,由此可见,二维数组时,指针是以Column 个int大小的空间为一个基本单元的
p[0][0] 表示的是第0个这样的基本单元中的第0个元素的值
p[1][0] 表示的是第1个这样的基本单元中的第0个元素的值
因此,声明一个二维数组指针
int (*p)[Column];// p指向[Column]结构,而[Column]结构是以int类型为基准单元的
同理, 三维数组可同样定义如下:
int (*p)[Column_1][Column_2]=new int [SIZE][Column_1][Column_2]
参考资料:http://www.fish888.com/c-new-t171704
相关文章推荐
- spark学习2之OutOfMemoryError错误的解决办法
- ORACLE数据库JDBC连接
- 加速app store访问速度
- KL距离的计算与含义(转)
- ios block
- Foundation之-字典、拆装箱、反射
- 重构tree方法新加(接上篇)清除tree缓存
- UIView(包括子类)的几个初始化时执行动作的时机
- Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] C. A Problem about Polyline
- 3D图形向量基础
- APNS远程推送证书的申请和制作——详细解析
- 图形处理<2>
- UITableView的使用
- 【转载】迅为4412开发板实验LEDS驱动一
- geometry中写入点云 primitiveset和polyintersection发现的一些需要注意的问题
- Ubuntu常見命令汇总
- 用位运算实现四则运算之加减乘除
- 当有多个同名的action可怎么办呢?
- 总理眼中的“分享经济”为何会成为全球经济发展助推力?
- Java 英文首字母大写