C语言&*符号使用及大端法小端法测试
工具: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 + 0)); # 地址的地址,也就是a低地址存储的值,经过电脑运行,输出78,也就是低位存储在低地址,我的电脑是小端存储 printf("%x\n", *(c + 1)); printf("%x\n", *(c + 2)); printf("%x\n", *(c + 3)); }
作者:欲戴王冠.必承其重
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。