| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 625 人关注过本帖
标题:C语言指针运算问题?求大神帮忙
只看楼主 加入收藏
孤独一生
Rank: 2
来 自:四川达县
等 级:论坛游民
帖 子:45
专家分:55
注 册:2013-4-1
结帖率:56.25%
收藏
已结贴  问题点数:5 回复次数:9 
C语言指针运算问题?求大神帮忙
int i=0;
int *p=&i;
p++;这里的自加是加内存地址 怎么算的  它是怎么加的  不懂
搜索更多相关主题的帖子: C语言 C语言 
2014-06-25 23:55
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:0 
int i=0;
int *p=&i;
printf("%p\n", p);
p++;
printf("%p\n", p);
printf("%d\n", sizeof(int));

梦想拥有一台龙芯3A-4000
2014-06-26 00:54
孤独一生
Rank: 2
来 自:四川达县
等 级:论坛游民
帖 子:45
专家分:55
注 册:2013-4-1
收藏
得分:0 
回复 2 楼 ditg
内存地址加4个字节 不会算
2014-06-26 07:28
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
以下是引用孤独一生在2014-6-26 07:28:31的发言:

内存地址加4个字节 不会算

???

总有那身价贱的人给作业贴回复完整的代码
2014-06-26 07:57
chrisgardner
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:73
专家分:114
注 册:2013-9-25
收藏
得分:5 
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

第4行编译器为变量i在内存上分配了一块内存,并初始化
第5行把上面分配的内存的第一个字节的地址存在了指针变量p中
第7行输出了在你的电脑上,int型数据占几个字节,得出上面的变量 i 在内存中占了几个字节的空间
第8行输出p中的内容,即为i的第一个字节的地址
第9行指针加1,指针偏移,你是疑惑为什么会偏移4个字节?
     我的理解是,p是整型变量的指针,整型数据占4个字节,指针偏移要指向下一个整型数据,当然要偏移4个字节。
第10行输出偏移后指针指向的地址,当然也是首字节的地址。
你可以换double类型试试看。
2014-06-26 09:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
就你这个代码而言,这种指针加法毫无意义。

授人以渔,不授人以鱼。
2014-06-26 12:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 

授人以渔,不授人以鱼。
2014-06-26 12:59
C客
Rank: 2
来 自:哈尔滨
等 级:论坛游民
帖 子:15
专家分:65
注 册:2014-6-14
收藏
得分:0 
这种运算一般都用于数组输入
比如:
int a[10];
for (i=0;i<10;i++)
    scanf("%d",a+i);

成功路上C客多。
2014-06-26 17:20
mnb1237273
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-6-1
收藏
得分:0 
内存地址相加。5楼那位朋友给你说的很明白了。

三分天注定,七分靠打拼,爱拼才会赢。我要早日跨入C语言的精彩世界。实践才是检验真理的唯一标准!
2014-06-27 10:00
徳智
Rank: 2
来 自:河北秦皇岛市
等 级:论坛游民
帖 子:9
专家分:13
注 册:2014-6-25
收藏
得分:0 
在谭浩强著的《c程序设计》(第四版)第223页。有你所问问题详解,自己去查就行了。

测试环境VC++6.0
2014-06-27 20:26
快速回复:C语言指针运算问题?求大神帮忙
数据加载中...
 
   



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

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