/ * ca34a_demo_c ++ _ txwtech multidimensional array
multidimensional arrays: an array of arrays
initialize multidimensional array
index multidimensional array reference
pointers and multidimensional array
pointing multidimensional array using typedef simplified pointer
int (* ip) [4] ; // ip points to an array of type int, which has an array of four elements. (An array of pointers, each of the four elements)
int * IP [. 4]; // IP is an array, which has four array elements, each of which is int pointer (an array, there are four pointers)
* /
/*ca34a_demo_c++_txwtech多维数组
多维数组:数组的数组
多维数组的初始化
多维数组的下标引用
指针和多维数组
用typedef简化指向多维数组的指针
int(*ip)[4];//ip是指向int类型的数组,数组里面有4个元素。(1个指针数组,每个有4个元素)
int *ip[4];//ip是一个数组,数组里面有4个元素,每一个是int的指针(一个数组,有4个指针)
*/
#include <iostream>
using namespace std;
typedef int int_array[4];
int main()
{
//最好是定义常量
const size_t rowSize = 3;
const size_t colSize = 4;
//int ia[3][4]=
int ia[rowSize][colSize] =
{
{0,1,2,3},
{4,5,6,7},
{8,9,10,11}
};
//cout << ia[1][2] << endl;
for (size_t i = 0; i != rowSize; ++i)
{
for (size_t j = 0; j != colSize; ++j)
{
cout << ia[i][j] << " ";
}
cout << endl;
}
cout << endl;
//指针来显示
for (int_array *p = ia; p != ia + 3; ++p)
{
for (int *q = *p; q != *p + 4; ++q)
cout << *q << " ";
cout << endl;
}
cout << endl;
//指针来显示方法2:
int(*p)[4];
for (p = ia; p != ia + 3; ++p)
{
for (int *q = *p; q != *p + 4; ++q)
cout << *q << " ";
cout << endl;
}
return 0;//后面的就不执行了。
int_array *ip;//==int(*ip)[4];//typedef int int_array[4];
//int(*ip)[4];//ip是指向int类型的数组,数组里面有4个元素
//int *ip[4];//ip是一个数组,数组里面有4个元素,每一个是int的指针
ip = ia;//ip={0,1,2,3}
for (int *q = *ip; q != *ip + 4; ++q)
cout << *q << endl;
cout << endl<<endl;
ip = &ia[2];// ip={8,9,10,11}
for (int *q = *ip; q != *ip + 4; ++q)
cout << *q << endl;
//getchar();
return 0;
}