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追问
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个字节
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位