| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2041 人关注过本帖
标题:大家帮忙看下,一个简单的指针移动,没搞成功,错哪了,找半天了
只看楼主 加入收藏
renzheuwi
Rank: 1
来 自:山西
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-6-28
收藏
 问题点数:0 回复次数:21 
大家帮忙看下,一个简单的指针移动,没搞成功,错哪了,找半天了
#include <stdio.h>
int main(void)
{
    int a=11,b=22,c=33,d=44,e=55,*p=&a;
    printf("原始数据:a=%d,b=%d,c=%d,d=%d,e=%d\n",a,b,c,d,e);
    *(p-1)=1,*(p-2)=2,*(p-3)=3,*(p-4)=4,*(p-5)=5;
    printf("通过指针移动引用后:a=%d,b=%d,c=%d,d=%d,e=%d\n",a,b,c,d,e);
    return 0;
    }
搜索更多相关主题的帖子: 指针 
2008-04-29 22:21
雨中飛燕
Rank: 1
等 级:新手上路
帖 子:765
专家分:0
注 册:2007-10-13
收藏
得分:0 
无语了。。。。。。。。。
你再搞N天也不会成功的

" border="0" />[color=white]
2008-04-29 22:25
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
我也晕倒中~
太迷惑我了~~

    记得好象应该是数组才可以相对位移的吧?你这a,b,c,d,e这么移动,它在内存中也不是连续的位置,怎么改变它们的值?

    最好改成数组,然后再利用指针来改变它们。

~~~~~~~~~~~
    初学,如果说得不对,大家不要见笑。

        :)
2008-04-29 22:26
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
这样的题目没什么意义..头会看晕的

学习需要安静。。海盗要重新来过。。
2008-04-29 22:36
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
首先,理论上,这种行为是未定义的。
然后,实际上,其实在早期的编译器上面,应该说是可以的。注意变量地址是倒着的。也就是p在最前面,然后依次是e,d,c,b,a。每个占4字节,稍微推测一下就可以知道每个变量的地址,然后你想怎么移都无所谓咯……
最后,为了防止缓冲区溢出的攻击。现代编译器都有一个打乱变量的内存布局的技术,因此,各个变量在运行时的相对位置是不确定的,你这样会改成什么结果,只有天知道了……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-04-29 22:45
思考ING
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:140
专家分:0
注 册:2008-3-12
收藏
得分:0 
我可不知道~~~~~~~~~~~

天生孤独的思考~~~~~~~~~
2008-04-29 23:16
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
看3#

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-04-30 14:08
renzheuwi
Rank: 1
来 自:山西
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-6-28
收藏
得分:0 
谢谢列位大仙
2008-05-01 09:32
renzheuwi
Rank: 1
来 自:山西
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-6-28
收藏
得分:0 
改成数组,然后用指针确实要好些
2008-05-01 09:33
纨酷子帝
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-4-30
收藏
得分:0 
汗~指针都指什么了……

编程高手 QQ群:19728471。只为交流,共同进步,非诚勿扰!
2008-05-01 09:55
快速回复:大家帮忙看下,一个简单的指针移动,没搞成功,错哪了,找半天了
数据加载中...
 
   



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

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