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

 

posted @ 2019-06-30 00:30  欲戴王冠.必承其重  阅读(747)  评论(0编辑  收藏  举报