15 C++基础-多维数组

xiaoxiao2021-02-28  50

1.数组的数组

int main() { // 数组的数组 int a[3][4]; // 表示 3 个数组,每个数组有 4 个元素 // 数组初始化 int b[3][4] = { {1, 2, 3 , 4}, {1, 2, 3 , 4}, {1, 2, 3 , 4} }; int c[3][4] = {1, 2, 3, 4,1, 2, 3, 4,1, 2, 3, 4}; // 等价于 b[3][4] // b[0][1] = 2 cout << "b[0][1] = " << b[0][1] << endl; return 0; }

2.遍历数组的数组

int main() { // 遍历数组的数组 int a[3][4] = { { 1, 2, 3, 4 }, { 1, 2, 3, 4 }, { 1, 2, 3, 4 } }; for (int i = 0; i != 3; i++) { for (int j = 0; j != 4; j++) { cout << "a[" << i << "][" << j << "]=" << a[i][j] << endl; } } return 0; }

运行结果

a[0][0]=1 a[0][1]=2 a[0][2]=3 a[0][3]=4 a[1][0]=1 a[1][1]=2 a[1][2]=3 a[1][3]=4 a[2][0]=1 a[2][1]=2 a[2][2]=3 a[2][3]=4

3.指针和多维数组

同理:当程序使用多维数组的名字时,也会自动将其装换为指向数组首元素的指针

// 遍历数组的数组 int a[3][4] = { { 8, 2, 1, 9 }, { 3, 2, 3, 4 }, { 1, 2, 3, 4 } }; int (*p)[4] = a; // 4个元素的指针数组指向多维数组的第一个数组 for(int i = 0; i != 4; ++i) { cout << "*p["<< i <<"] = " << (*p)[i]<<endl; } p = p + 1; // 4个元素的指针数组指向多维数组的第二个数组 for(int i = 0; i != 4; ++i) { cout << "(*p)["<< i <<"] = " << (*p)[i]<<endl; } return 0;
转载请注明原文地址: https://www.6miu.com/read-2628075.html

最新回复(0)