1. 指针变量可以实现自身值的改变。如:pa++;而数组名所代表的地址则不能改变,a++是错误的用法。
2.应注意指针变量的当前值。如上例。
3.指针变量可以指向数组中各个内存单元。
7.3.3 多维数组元素的指针访问方式
上述关于一维数组与指针关系的结论可以推广到二维数组、三维数组等。我们以二维数组为例介绍多维数组的指针访问方式。
前面我们说过,二维数组可以看成是一种特殊的一维数组,每一个一维数组元素本身又是一个有若干个数组元素的一维数组。
例如:int b[3][4];
则这个二维数组可以看成是具有3个单元的一维数组,其中每个单元本身又是一个具有4个单元的int型一维数组。因此对于二维数组我们仍然可以说“数组名就是指向该数组第一个单元的指针”,只是“第一个单元”的含义不同罢了,如图7.13所示;它现在是指构成二维数组第一行的那个一维数组,即b[0]。可见数组名b的类型为int (*)[4],即一个指向“具有4个元素的int型一维数组”。这样从二维数组的角度来看,数组名b代表整个二维数组的首地址,实际上是指二维数组第0行的首地址。那么b+1代表第一行的首地址,b+2代表第二行的首地址。如果二维数组b的地址为3000,则b+1地址为3008,b+2的地址为3016,如图7.14所示。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] 下一页
|