0
点赞
收藏
分享

微信扫一扫

C语言不明白

C语言查看多字节变量中每单个字节数据的方法

代码: 


#include<stdio.h>
void main()
{

int a=0x21109225;
char* pAddress=(char*)&a;
printf("%x\n",*pAddress);
printf("%x\n",*(++pAddress));
}

我们知道在VC中int型占4个字节,而char型占1个字节,所以主函数中的语句"char* pAddress=(char*)&a;"将a的4个字节中的第一个字节地址赋给char* 型指针变量pAddress。这里pAddress用char*型而不是int*型的原因是,虽然两者都是指针,都占用4个字节,但对于所指向内容的读取方式是不同的;前者以单字节读取,而后者一次读取4个字节。

所以如果您的计算机是大端存储,那么输出结果是:


21

10

如果是小端存储,那么输出结果是:

25

92

#include <stdio.h>
main()
{
/*
VC中int型占4个字节,而char型占1个字节,所以语句"char* pAddress=(char*)&a;"
将a的4个字节中的第一个字节地址赋给char* 型指针变量pAddress。
这里pAddress用char*型而不是int*型的原因是,虽然两者都是指针,都占用4个字节,
但对于所指向内容的读取方式是不同的;前者以单字节读取,而后者一次读取4个字节。

*/
int a=0x21109225;
char* pAddress=(char*)&a;
printf("%x\n",*pAddress);
printf("%x\n",*(++pAddress));

getchar();
}





举报

相关推荐

0 条评论