C语言关于行地址和列地址的问题...刚才没说清楚.请高手啊...

[复制链接]
查看11 | 回复4 | 2009-3-27 14:18:48 | 显示全部楼层 |阅读模式
int (*b)[4] 指的是创建一个指向只有4个元素数组的指针(行地址),
**b指b[0]元素的值
而同样是一唯数组
int a[4]中的a却是a[0]元素的地址(列地址),个人认为a应该是一个行地址
**a 才是a[0]元素的值,但是*a就是a[0]的值 why?

回复

使用道具 举报

千问 | 2009-3-27 14:18:48 | 显示全部楼层
int a[4]的a的确是a[0]元素的地址,但是他也是一个行的地址,两者并不矛盾,当int a[4],*b=a;定义是*a是a[0]的值,但是*a[4]意义就不同了,他是个指针数组,,,,,,,,,,,,,还要解释好多,实在不懂找我...
回复

使用道具 举报

千问 | 2009-3-27 14:18:48 | 显示全部楼层
一维数组好象没分行地址和列地址吧?因为int a[4]
只包括 a[0]
假如地址 2000
a[1]
2004
a[2]
2008
a[3]
2012就一个地址! 你看的是那本书?一为数组也分 ...
回复

使用道具 举报

千问 | 2009-3-27 14:18:48 | 显示全部楼层
*b应该就是指针数组b[0]的值啊,**b就是b[0]的地址了...
回复

使用道具 举报

千问 | 2009-3-27 14:18:48 | 显示全部楼层
你完全弄混淆了 一维数组中 a是&a[0] 所以*a是a[0]的值 这和多维数组不一样的...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行