有一个二维数组a[3][3],如果我要通过指针为这个二维数组赋值,而这个数组的数组名本来就是这个数
有一个二维数组a[3][3],如果我要通过指针为这个二维数组赋值,而这个数组的数组名本来就是这个数组的指针,而现在我要用它的数组名做为这个数组的指针。按照书上说的,先把这...
有一个二维数组a[3][3],如果我要通过指针为这个二维数组赋值,而这个数组的数组名本来就是这个数组的指针,而现在我要用它的数组名做为这个数组的指针。按照书上说的,先把这个二维数组看做由一个有三个元素的一维数组a={a[0],a[1],a[2]},还说数组名就是控制行的指针,里面三个元素本身也是数组,a[0]由a[0][0]a[0][1]a[0][2]元素组成。a[1]由
a[1][0]a[1][1]a[1][2]组成。a[2]由
a[2][0]a[2][1]a[2][2]组成。
如果这样,a+1这就表示指向第二行,以此类推。如果a[0]+1泽表示指向第二列。书上是怎么说的。但是我有疑惑:既然都把二维数组看成一个有三个元素构成的一维数组,那么 a就是a[0],a[1],a[2]这三个元素的指针了吧?因为a=&a[0]两个完全等价所以又可以这样写a+1=&a[0]+1这样写吧?刚才说了数组a的三个元素又是数组,所以三个数组名就是指向各自所带有的元素的指针了。那么a+1=&a[0]+1,因为a[0]=&a[0][0]又等价。所以a+1=&a[0][0]+1。行在移动的时候,列也同时在移动?如果是这样得出来的只有得到原先数组的对角元素了。我该怎么理解用指针为二维数组赋值?求大神指点我,在线等你的答复,谢谢。 展开
a[1][0]a[1][1]a[1][2]组成。a[2]由
a[2][0]a[2][1]a[2][2]组成。
如果这样,a+1这就表示指向第二行,以此类推。如果a[0]+1泽表示指向第二列。书上是怎么说的。但是我有疑惑:既然都把二维数组看成一个有三个元素构成的一维数组,那么 a就是a[0],a[1],a[2]这三个元素的指针了吧?因为a=&a[0]两个完全等价所以又可以这样写a+1=&a[0]+1这样写吧?刚才说了数组a的三个元素又是数组,所以三个数组名就是指向各自所带有的元素的指针了。那么a+1=&a[0]+1,因为a[0]=&a[0][0]又等价。所以a+1=&a[0][0]+1。行在移动的时候,列也同时在移动?如果是这样得出来的只有得到原先数组的对角元素了。我该怎么理解用指针为二维数组赋值?求大神指点我,在线等你的答复,谢谢。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询