| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 371 人关注过本帖
标题:关于malloc
只看楼主 加入收藏
H_J_Huang
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-10-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
关于malloc
程序代码:
int *buf,i=0,*m;
    buf=(int *)malloc(LEN*sizeof(int));
    m=buf;
    printf("m=%d\tm+1=%d\t++m=%d\t++m=%d\n",m,m+1,++m,++m);        
    printf("buf=%d\tbuf+1=%d\t++buf=%d\t++buf=%d\n",buf,buf+1,++buf,++buf);  
    SetConsoleTitle("选择排序法");
    srand(time(NULL));
    for(i=0;i<LEN;i++)
    {
        *(m+i)=rand();
        //*m++=rand();
    }
    for(i=0;i<LEN;i++)
    {
        if((i+1)%4==0)
        {
            printf("%d\t\t\n",*m++);
        }
        else
            printf("%d\t\t",*m++);
    }

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

问题一:为什么m的地址和++m的地址一样呢
问题二:为什么m+1的地址和++m的地址不一样呢
谢谢!
2013-10-19 10:09
hh373231690
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:138
注 册:2012-10-13
收藏
得分:5 
从右向左
2013-10-19 11:20
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:15 
你在一个printf表达式里面,引用m的同时,又改变了m,这个行为是不定的

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-10-20 15:54
海无边
Rank: 2
等 级:论坛游民
帖 子:15
专家分:72
注 册:2011-9-28
收藏
得分:0 
2楼正解。
2013-10-20 20:32
快速回复:关于malloc
数据加载中...
 
   



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

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