下面随笔是关于指针数组说明及与二维数组的最大区别。
指针数组

例 利用指针数组存放矩阵
- 1 #include
- 2 using namespace std;
- 3 int main() {
- 4 int line1[] = { 1, 0, 0 }; //矩阵的第一行
- 5 int line2[] = { 0, 1, 0 }; //矩阵的第二行
- 6 int line3[] = { 0, 0, 1 }; //矩阵的第三行
- 7
- 8 //定义整型指针数组并初始化
- 9 int *pLine[3] = { line1, line2, line3 };
- 10 cout << "Matrix test:" << endl;
- 11 //输出矩阵
- 12 for (int i = 0; i < 3; i++) {
- 13 for (int j = 0; j < 3; j++)
- 14 cout << pLine[i][j] << " ";
- 15 cout << endl;
- 16 }
- 17 return 0;
- 18 }
- 19
- 20
- 21
- 22 输出结果为:
- 23 Matrix test:
- 24 1,0,0
- 25 0,1,0
- 26 0,0,1
指针数组与二维数组对比
- 1 int array2[3][3] ={ { 1,0,0 }, { 0,1,0 }, { 0,0,1 } };
二者最大区别在于数组行与行之间存储顺序的连续性,指针数组中行与行元素不是依次连续的,而二维数组为联系存放的,具体如图所示:
