C++学习笔记——C++动态数组的创建与删除
2016-09-27 10:16
471 查看
一、C++创建一维数组
在C++中创建动态数组,是用new来实现的
当然也可以分开来写
type是指具体的数据类型, N代表的是一维数组的列数
每次使用new后都要释放
二、C++创建二维数组
一般的格式:
type是指具体的数据类型, N代表的是二维数组的列数
另一种格式:不需要写列数
举例:创建一个5行3列的int型二维数组
当然在每次使用完动态数组后,需要将其释放
创建一个动态的row行col列数组,并随机赋值0-9
三、创建三维数组
和创建二维数组一样,只需要在添加第三个变量就能完成三维数组的创建。
实例:创建一个动态的高height、行row、列col的三维数组,并随机赋值0-9
4000
在C++中创建动态数组,是用new来实现的
type *p = new type [N]
当然也可以分开来写
type *p1; p1 = new int ;
type是指具体的数据类型, N代表的是一维数组的列数
每次使用new后都要释放
delete[] p1;
二、C++创建二维数组
一般的格式:
type (*p) = new type []
type是指具体的数据类型, N代表的是二维数组的列数
另一种格式:不需要写列数
举例:创建一个5行3列的int型二维数组
int **p; p = new int *[5]; //创建一个指针数组,每个元素都是一个指针 for (int i = 0; i < 5; i++) { p[i] = new int[3];//每一个指针数组中的元素指针都指向一个3个元素的数组 }
当然在每次使用完动态数组后,需要将其释放
for (int i = 0; i < 5; i++) { delete[] p[i]; } delete[] p;
创建一个动态的row行col列数组,并随机赋值0-9
include "iostream" include "ctime" using namespace std; int main() { int row, col; int i, j; srand((unsigned)time(NULL)); cout << "输入二维数组的行,列:"; cin >> row >> col; //动态定义二维数组 int **p2; p2 = new int*[row]; for (i = 0; i < row; i++) { p2[i] = new int[col]; } //数组赋值 for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { p2[i][j] = rand() % 10; } } //输出数组 for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { cout << p2[i][j] << '\t'; } cout << endl; } //释放二维数组 for (i = 0; i < row; i++) { delete[] p2[i]; } delete[] p2; }
三、创建三维数组
和创建二维数组一样,只需要在添加第三个变量就能完成三维数组的创建。
实例:创建一个动态的高height、行row、列col的三维数组,并随机赋值0-9
#include "iostream" #include "ctime" using namespace std; int main() { int hight, row, col; int i, j,k; srand((unsigned)time(NULL)); cout << "输入三维数组高,行,列 : "; cin >> hight >> row >> col; //动态定义三维数组: int *** p3; p3 = new int**[hight]; for (i = 0; i < hight; i++) p3[i] = new int*[row]; for (i = 0; i < hight; i++) for (j = 0; j < row; j++) p3[i][j] = new int[col]; //输入三维数组值: for (i = 0; i < hight; i++) for (j = 0; j < row; j++) for (k = 0; k < col; k++) p3[i][j][k] = rand() % 10; //输出三维数组: cout << "输出三维数组" << endl; for (i = 0; i < hight; i++) { for (j = 0; j < row; j++) { for (k = 0; k < col; k++) cout << p3[i][j][k] << ' '; cout << endl; } cout << endl; } //释放三维数组 for (i = 0; i < hight; i++) for (j = 0; j < row; j++) delete[]p3[i][j]; for (i = 0; i < hight; i++) delete[]p3[i]; delete[]p3; }
4000
相关文章推荐
- C++学习笔记——C++动态数组的创建与删除
- C++学习笔记四之使用new来创建动态数组
- C++动态内存创建与内存管理学习笔记[3]
- C++动态内存创建与内存管理学习笔记[4]
- 转:C++动态内存创建与内存管理学习笔记[1]
- C++二维动态数组的创建与删除
- [C++学习笔记14]动态创建对象(定义静态方法实现在map查找具体类名对应的创建函数,并返回函数指针,map真是一个万能类)good
- C++动态内存创建与内存管理学习笔记[1]
- 转: C++动态内存创建与内存管理学习笔记[3]
- C++动态内存创建与内存管理学习笔记
- C++二维动态数组的创建与删除
- C++二维动态数组的创建与删除
- C++ 用new 、delete 动态创建、删除数组
- 【C++学习笔记】使用new创建动态结构
- 转:C++动态内存创建与内存管理学习笔记[2]
- C++动态内存创建与内存管理学习笔记[2]
- C++动态内存创建与内存管理学习笔记【转】
- C/C++中关于地址、指针和引用变量的学习笔记(二) : 数组
- php学习笔记(7):PHP数组的创建修改使用
- C++基础教程 学习笔记(二) 数组、字符串和指针