[试题解析]static int x[2][3]={2,3,4,5,6,7} *x[1]=?
2015-10-14 12:47
260 查看
[试题解析]static int x[2][3]={2,3,4,5,6,7} *x[1]=?
A.*(x)[5] B.*(*(x+1)) C.*(&x[0][0]+2) D.*(*x+3)
[分析]
先看看二维数组的分布图
A> 括号的优先级最高,"[ ]" 先跟x结合就成了,*x[5] 相当于*(x+5),也就是说相当于纵向地址增加5个,相当于越界访问了,其值就
为0,因为数组存在与静态区当中。
B>
*(*(x+1))同上面的道理一样,纵向地址先增加一个,然后对其解引用,值为第二行地址首元素的地址,再次解引用就为第二行首元素的值,这里为
5。
C>
这个选项很好理解,a[0][0]地址为普通指针类型,向前加2个地址,为第一行第三个元素的地址,解引用为4
D>
* 号先和x结合,取得首元素的地址,在向前加三个地址长度,也就是12个字节,最后落在第四行首元素上,解引用为5
A.*(x)[5] B.*(*(x+1)) C.*(&x[0][0]+2) D.*(*x+3)
[分析]
先看看二维数组的分布图
A> 括号的优先级最高,"[ ]" 先跟x结合就成了,*x[5] 相当于*(x+5),也就是说相当于纵向地址增加5个,相当于越界访问了,其值就
为0,因为数组存在与静态区当中。
B>
*(*(x+1))同上面的道理一样,纵向地址先增加一个,然后对其解引用,值为第二行地址首元素的地址,再次解引用就为第二行首元素的值,这里为
5。
C>
这个选项很好理解,a[0][0]地址为普通指针类型,向前加2个地址,为第一行第三个元素的地址,解引用为4
D>
* 号先和x结合,取得首元素的地址,在向前加三个地址长度,也就是12个字节,最后落在第四行首元素上,解引用为5
相关文章推荐
- poj 3278
- Java Cookbook-Date and Times
- phantomjs试玩
- JSON.stringify 语法实例讲解 JSON格式化
- hashmap的数据结构和算法
- Excel创button宏调用
- 雕虫小技----outlook无法打开和保存附件
- 技术高手如何炼成
- 神奇的卷积神经网络(一)
- 判断新特性(判断版本号)
- C++取a到b之间的随机数
- 各种常用的插入排序(直接,折半,希尔)
- centos7系统下完美安装mysql5.6
- 是否可抵扣,视同销售?
- hadoop、hbase、storm官方论坛交流群
- jQuery MiniUI开发系列之:使用API文档
- 我们不是青梅竹马
- ActiveAdmin 数据管理
- Android保存多个对象
- 新应用知识整理-图片的下载、内存软引用与本地缓存的实现