C++ 3维数组指针声明的3种方式
来源:互联网 发布:怎样进行淘宝网店定位 编辑:程序博客网 时间:2024/06/06 01:28
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针
数组指针:a pointer to an array,即指向数组的指针
还要注意的是他们用法的区别,下面举例说明。
int* a[4] 指针数组
表示:数组a中的元素都为int型指针
元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于*
int (*a)[4] 数组指针
表示:指向数组a的指针
元素表示:(*a)[i]第一种:
dynamic_array.h
#ifndef DYNAMICARRAY_H#define DYNAMICARRAY_Hclass DynamicArray{public: DynamicArray(); double*** allocate3DoubleArray(int x, int y, int z); void release3DoubleArray(double*** the_array, int x, int y, int z);};#endif // DYNAMICARRAY_H
dynamic_array.cpp
#include "dynamic_array.h"DynamicArray::DynamicArray(){}double*** DynamicArray::allocate3DoubleArray(int x, int y, int z){ double*** the_array = new double**[x]; for(int i(0); i < x; i++) { the_array[i] = new double*[y]; for(int j(0); j < y; j++) { the_array[i][j] = new double[z]; for(int k(0); k < z; k++) { the_array[i][j][k]= 0.; } } } return the_array;}void DynamicArray::release3DoubleArray(double*** the_array, int x, int y, int z){ for (int i = 0; i < x; i++) { for (int j = 0; j < y; j++) { delete [] the_array[i][j]; } delete [] the_array[i]; } delete [] the_array;}
float(*a)[100][100]=new float [100][100][100];
delete [] a;
第三种也是目前比较常用的一种:智能指针。
0 0
- C++ 3维数组指针声明的3种方式
- 函数返回数组指针的几种声明方式
- 指针与数组的关联3 --声明
- C语言几种指针的声明方式
- 在C和C++下声明函数指针的方式
- [c/c++]如何声明函数指针数组
- 【C++】指针(3):指针&数组
- js数组的三种声明方式
- C# 数组的五种声明方式
- js声明数组的四种方式
- C语言 通过指针访问一维数组的几种方式,通过数组名访问一维数组
- 关于指针数组的声明
- C指针和数组:定义为字符串指针,声明为字符数组的后果
- Java 数组的声明方式
- C++数组声明的方式
- C#数组的声明方式
- C#数组的声明方式
- 指针的指针&指针的引用&复杂数组声明
- HDOJ-3037(组合数学)
- 第一支小爬虫
- 列表项中包含按钮的ListView的点击事件的响应
- android应用基础--由官方帮助文件翻译
- Ubuntu12.04中的截图
- C++ 3维数组指针声明的3种方式
- POJ3384Feng Shui【半平面交】
- 个人学习笔记---Linux内存:内存管理的实质
- Android获取当前设备分辨率
- Linux内存管理之mmap详解 http://blog.chinaunix.net/uid-26669729-id-3077015.html
- linux 常用命令
- Android - 判断网络状态
- (整理篇一)在windows环境下搭载Android开发环境
- SQLite数据查询结果显示在ListView(SimpleAdapter与SimpleCursorAdapter)