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

例 利用指针数组存放矩阵
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 } };
二者最大区别在于数组行与行之间存储顺序的连续性,指针数组中行与行元素不是依次连续的,而二维数组为联系存放的,具体如图所示:

赞 (0)