标题:关于指针?和存放顺序问题,求指导
只看楼主
leodjh
Rank: 1
等 级:新手上路
帖 子:15
专家分:7
注 册:2016-8-13
结帖率:75%
已结贴  问题点数:10 回复次数:1 
关于指针?和存放顺序问题,求指导
#include<stdio.h>
#include<stdlib.h>
void *MEN_ADDR;
void men_test(void)
{
    unsigned int *pint=NULL;
    unsigned short *pshort=NULL;
    unsigned char *pchar=NULL;
    MEN_ADDR=(void*) malloc(sizeof(int));
    pint=(unsigned int*)MEN_ADDR;
    pshort=(unsigned short*)MEN_ADDR;
    pchar=(unsigned char*)MEN_ADDR;
    *pint=0x12345678;
    printf("0x%x,0x%x\n",*pshort,*pchar);
    pshort++;
    *pshort=0x5555;
    printf("0x%x,0x%x\n",*pint,*pchar);
}
void main()
{
    men_test();
}
为何输出是0x5678,0x78
          0x55555678,0x78
而不是0x1234,0x12
    0x15555678,0x15
呢?求指导谢谢
搜索更多相关主题的帖子: include 
2017-02-25 20:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
这样看看存储状态:
printf("0x%x 0x%x 0x%x 0x%x\n", pchar[0],pchar[1],pchar[2],pchar[3]);
2017-02-25 20:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474546-1-1.html




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

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