关于c语言二维数组列指针初始化
关于c语言二维数组列指针初始化下图关于那个列指针的初始化有不懂。p=a[0],p=*a,p=&a[0][0]。书上说这三者等价,但是我有点不懂。1.按照指针初始化的定义,...
关于c语言二维数组列指针初始化下图关于那个列指针的初始化有不懂。p=a[0],p=*a,p=&a[0][0]。书上说这三者等价,但是我有点不懂。
1.按照指针初始化的定义,int *p=&a[0][0];这一点,完全没问题,就算传了二维数组的首地址给指针。
2.但是,p=*a怎么会和上面等价呢 我记得*a不是去这个数组的第一个值吗,怎么能用值传给一个指针,或者说一个指针指向一个值。
3.p=a[0],这个不是传的是第一行的地址吗,和第三个具体的首地址能等价?
恳求各位前辈学长能够解惑(。ò ∀ ó。)感激~ 展开
1.按照指针初始化的定义,int *p=&a[0][0];这一点,完全没问题,就算传了二维数组的首地址给指针。
2.但是,p=*a怎么会和上面等价呢 我记得*a不是去这个数组的第一个值吗,怎么能用值传给一个指针,或者说一个指针指向一个值。
3.p=a[0],这个不是传的是第一行的地址吗,和第三个具体的首地址能等价?
恳求各位前辈学长能够解惑(。ò ∀ ó。)感激~ 展开
2个回答
展开全部
你可以把二维数组a看成一个一维的指针数组,*a与a[0]等价,这样是不是好理解了?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询