首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于二维数组解引用有关问题

2014-01-05 
关于二维数组解引用问题RT,为什么二维数组b是否解引用结果都一样?连编译出的汇编代码都一样?[解决办法]引

关于二维数组解引用问题
关于二维数组解引用有关问题
RT,为什么二维数组b是否解引用结果都一样?
连编译出的汇编代码都一样?
[解决办法]

引用:
Quote: 引用:

数组的地址和数组第一个元素的地址是一样的, 但是从指针的角度看, 指针对象却是不一样的
b++;
*b++;

我就是不明白,b+1是二维数组b[1][0]的地址
那对(b+1)进行解引用,返回的应该是b[1][0]里面的值啊,为什么还是b[1][0]的地址?

二维数组是一维数组的一维数组,二维数组名可以隐式转换为指向第一个一维数组的数组指针
b+1是指向第二个一维数组的数组指针,*(b+1)是第二个一维数组,也可以隐式转换为指向第二个一维数组第一个元素的指针
解引用是分层的,对b这个二维数组转换而成的一维数组指针进行一次解引用*,得到的不是元素而是一维数组转换而成的元素指针

热点排行