行指针的理解
对于2维数组来讲,可以理解成数组的数组。
以下面的数组为例:
int a[8][4]
a是数组首元素的地址,那么作为2维数组来讲,数组首元素是什么呢?
2维数组的首元素还是个数组-----一个包含4个int的一维数组。
对于这个包含4个int的一维数组来讲,其数组名为a[0],首元素地址为a[0],
也即a[0]和a都是个地址,而且数值相同,但他们意义不同,一个是一维数组的首元素地址,一个是二维数组首元素的地址。
*a代表其首元素的值,其首元素为a[0],而a[0]又是个地址,值为
&a[0][0] ,即*a就是&a[0][0],进行取值运算,**a就是*&a[0][0],即
**a就是a[0][0],所以说,a是地址的地址。*a虽然是元素,但他还是个地址。