| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 400 人关注过本帖
标题:令人头疼的指针啊。。。
只看楼主 加入收藏
Glost
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:54
专家分:48
注 册:2010-10-5
结帖率:88.89%
收藏
已结贴  问题点数:10 回复次数:5 
令人头疼的指针啊。。。
是一个结构体指针问题!希望了解的人指点一下;
#include <stdio.h>
struct dent
{
    int n;
    int *m;
};
int a=1,b=2,c=3;
struct dent s[3]={{101,&a},{102,&b},{103,&c}};
void main()
{
    struct dent *p;
    p=s;
    printf("%d\n%d\n%d\n%d\n",(p++)->m,*(p++)->m,(*p).m,*(++p)->m);
}
问题就是后面的输出语句里面的变量具体指的是?有可能我的表示方法有问题,但只要之处正确的那个表示的变量含义就可以了。。。
搜索更多相关主题的帖子: 结构体 
2011-03-06 15:24
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
*(p++)->m
这样不合法吧

*p.m
p->m
都是合法的

勤能补拙,熟能生巧!
2011-03-06 15:56
新手写程序
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:120
注 册:2011-3-5
收藏
得分:8 
(p++)->m  这是地址  打印的是地址   其实打印地址最好用 %p
*(p++)->m  这个打印的是 int变量  -> 优先级高于*    *((p++)->m)
差不多
2011-03-06 16:37
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:2 
回复 3楼 新手写程序
(p++)->m  这是地址  打印的是地址   其实打印地址最好用 %p

这个打印的不是地址,是内容!!!!

[ 本帖最后由 huangapple 于 2011-3-6 16:47 编辑 ]

勤能补拙,熟能生巧!
2011-03-06 16:46
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
收藏
得分:0 
以下是引用huangapple在2011-3-6 16:46:21的发言:


这个打印的不是地址,是内容!!!!
看错看错,   这里m是指针  。。。

勤能补拙,熟能生巧!
2011-03-06 16:48
Glost
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:54
专家分:48
注 册:2010-10-5
收藏
得分:0 
回复 3楼 新手写程序
谢谢!

只有一条路不能选择—那就是放弃的路;只有一条路不能拒绝—那就是成长的路。
2011-03-06 21:02
快速回复:令人头疼的指针啊。。。
数据加载中...
 
   



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

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