C语言整型是如何存储的

版权声明:本文为博主原创文章,欢迎转载。 https://blog.csdn.net/chen12302asd/article/details/82183239

系统:macOC 10.13
Xcode:9.2

int main(int argc, const char * argv[]) {
    // insert code here...
    int i = 0x12345678;
    printf("%lu\n", sizeof(int));
    printf("i 的地址是:%p\n", &i);
    char *p = (char *)&i;
    printf("%p==>%x\n",p, i);
    printf("%p==>%x\n",p, p[0]);
    printf("%p==>%x\n",p+1, p[1]);
    printf("%p==>%x\n",p+2, p[2]);
    printf("%p==>%x\n",p+3, p[3]);
    return 0;
}

结果如下:

4
i 的地址是:0x7ffeefbff64c
0x7ffeefbff64c==>12345678
0x7ffeefbff64c==>78
0x7ffeefbff64d==>56
0x7ffeefbff64e==>34
0x7ffeefbff64f==>12
Program ended with exit code: 0

从结果可以看出int类型占4个字节的存储空间,并且低位字节排放在内存的低地址端。

猜你喜欢

转载自blog.csdn.net/chen12302asd/article/details/82183239
今日推荐