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(); }