数组元素的符号地址是怎么命名的,我不大明白什么意思,如数组int a[5]中一个元素a[3]的符号地址是a+3,

a+3是什么意思呢??二维的数组int a[2][3]中一个元素a[1][2]的符号地址是a[1]+2,那么 a[1]+2又是什么意思??维数不同的数组的元素的符号地址的写法有什么规律???

a+3 表示指向a的指针地址+3×sizeof(type of a),也就是整型加4×3,char 加1×3
inta[2][3]是个二维数组,所以a[1]是个指针地址,加2也就是a[1][0]偏离第二个就是a[1][2]
但是一定要注意: 如果int a[2]那你的a[1]就是整型数而不是指针了。
关系就是a[b][c][d][e]....他的具体一维的首地址就是他的当前一维标识,a[b][c]二维的首地址就是a[b],a[b]首地址就是a追问

书本上说数组是一种类型,我不明白,如int b[3],这个数组的类型名是什么??int m[2][5]这数组的类型又是什么??

追答

数组的类型就是整形,存放3个整形的数组,因为数组里只能存放同一种类型的变量。第二个也同理,只不过他是个二维数组,存放了你可以想象成是2排队伍,每排有5个,然后每个都是整形。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-05
标准规定 数字名 可以当做数组的首地址使用 a+3 表示 向首地址a偏移3个int(4个字节)长度
a[2][3] 你可以看成2行3列 a[1]+2 相当于a[3], 相当于移动 2 行 每行有3个int型数 所以 它偏移的长度为 2*3*4(int型数在内存中占4个字节)字节个单位
同理:char a[3][ 8][9] 中 a[1]+2偏移的长度为:2*8*9*1(字节) char型在内存中占1个字节
第2个回答  2011-10-05
a[1]+2相当于将访问指针向后移2位

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网