工具:Microsoft Visual C++ 6.0

例子:

int a = 1;

int* b = &a;

C语言规定a表示存储单元中的数据,&a表示存储单元的地址,b存储的就是a的地址

C语言规定*a代表a中存储的地址对应的存储单元中的数据,所以*b就是等于1

C语言的&*介绍完毕,开始测试本机是大端法,还是小端法?

#include <stdio.h>
#include <stdlib.h> int main(){
int a = 0x12345678;
char* c = &a; # c = a的值存储的4个字节地址的首地址,也就是低地址,char占用一个字节
printf("%x\n", a);
printf("%x\n", *(c + )); # 地址的地址,也就是a低地址存储的值,经过电脑运行,输出78,也就是低位存储在低地址,我的电脑是小端存储
printf("%x\n", *(c + ));
printf("%x\n", *(c + ));
printf("%x\n", *(c + ));
}
05-21 07:56