指针 问题

[复制链接]
查看11 | 回复4 | 2011-6-5 23:43:07 | 显示全部楼层 |阅读模式
a[0]是第一个一维数组的数组名和首地址,因此也为1000。*(a+0)或*a是与a[0]等效的, 它表示一维数组a[0]0 号元素的首地址,也为1000。&a[0][0]是二维数组a的0行0列元素首地址,同样是1000。因此,a,a[0],*(a+0),*a,&a[0][0]是相等的。
我想问下,那个a是数组的地址,那*(a+0)是什么?怎么会等价呢?

回复

使用道具 举报

千问 | 2011-6-5 23:43:07 | 显示全部楼层
a是二维数组即相当于二级指针,*(a+0)=a[0],即一维数组名,此时指针这向列,即元素,所以等价...
回复

使用道具 举报

千问 | 2011-6-5 23:43:07 | 显示全部楼层
a,&a[0][0]是地址,a[0],*(a+0),*a是数组元素。*是间接引用符号可引用地址中的内容,&的作用是取地址...
回复

使用道具 举报

千问 | 2011-6-5 23:43:07 | 显示全部楼层
*(a+0)=a[0]你可以这样理解,a是地址、加上*号就是取内容了...
回复

使用道具 举报

千问 | 2011-6-5 23:43:07 | 显示全部楼层
a[0] 与*(a+0)与*a是等价的,表示a[0]的内容,a表示数组地址,与上面不等价...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行