C语言day06-09变量的存储细节

pragma mark 变量的存储细节

pragma mark 概念

pragma mark 代码

#include <stdio.h>
int main()
{
    // 变量为什么要有类型? 每种类型占用内存空间不一样,int 4, char 1 double 8
    // 只要定义变量,系统就会开辟一块存储空间给我们的变量存储数据,内存寻址是从大到小
    // 越先定义的变量,内存地址越大
    // 变量的地址就是所占的存储空间最小的字节地址
    int number ;
    // 注意:由于内存寻址是从大到下,所以存储数据也是从大到小的存储(先存储二进制的高位,再存储低位)
    // 高位           --->         低位
    // 00000000 00000000 00000000 00001001
    number = 9; // 9 -- > 二进制 -->存储(补码)
    int value ;
    
    // %p 是输出地址
    // &变量名称,是取出变量的地址
    printf("number = %p\n",&number);
    printf("value = %p\n",&value);
    
#pragma mark 取出每个字节中存储的数据
    char *c = &number;
    for (int i = 0; i < sizeof(number); i++) {
        int result = c[i]; // 取出每个字节中存储的数据
        printf("%i\n",result);
    }
    
    return 0;
}
    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/828a37c9b217
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞