| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 491 人关注过本帖, 1 人收藏
标题:这个数组指针(*(sw+1)[0])如何理解??
取消只看楼主 加入收藏
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
结帖率:84.21%
收藏(1)
已结贴  问题点数:20 回复次数:1 
这个数组指针(*(sw+1)[0])如何理解??
#include "stdio.h"
void main()
{
    int w[2][3]={{3,5,2},{1,9,7}};
    int (*sw)[3]=w;
    printf("%d",(*(sw+1)[0]));
}
// 这个地方,我想问下应该怎么样理解呢?
(*(sw+1)[0]),.输出的值为1.
我是这样认为的:
sw数组指针指向 二维数组名首行地址. (sw+1) 应该就是行加1, 这个时候移动到了 {1,9,7}中的 首行w[1][0]的元素地址.
这个时候 *(&w[1][0])[0]处应该怎么样理解? ,若是变址运算符先执行 (&w[1][0])[0]又是啥意思呢,我调试感觉好象是 表示首行的地址.

请懂的教下我。谢谢了!

[ 本帖最后由 默默学习 于 2011-3-10 20:18 编辑 ]
搜索更多相关主题的帖子: 元素 
2011-03-10 20:16
默默学习
Rank: 4
等 级:业余侠客
帖 子:134
专家分:200
注 册:2010-6-22
收藏
得分:0 
看了各位的见解。
我自己是这样理解的.
首先 ( sw + 1 ) 表示行地址加一。作为起始地址开始!
就是 t[0] 且 t 相当于( sw + 1)的地址。
所以 t[0] 取内容 ., *t[0] 就是行地址的控制输出了。
4楼 答案应该是B,.其时是我浏览的时候正好看到这个问题,发现我自己也不是很理解,所以发此帖希望很大家一起讨论一下。
希望LX能继续发表下自己的观点。。
2011-03-10 22:51
快速回复:这个数组指针(*(sw+1)[0])如何理解??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015286 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved