C语言day07-01数组-内存存储细节

pragma mark 数组-内存存储细节

pragma mark 概念

pragma mark 代码

#include <stdio.h>
int main()
{
    // 变量在内存中的存储
    // 由于变量的内存寻址是从大到小,所以存储数据时会从高字节
    int num = 10;   // 0000 0000 0000 0000 0000 0000 0000 1010
#pragma mark 数组的内存细节
    /*
     // 注意:数组的存储和变量有点不一样,数组存储元素, 是从所占用的低字节开始存储
    char charValue[4] = {'l','y','h','s'};
//     charValue[0] = 0x7fff5fbff804
//     charValue[1] = 0x7fff5fbff805
//     charValue[2] = 0x7fff5fbff806
//     charValue[3] = 0x7fff5fbff807
    printf("charValue[0] = %p\n",&charValue[0]);
    printf("charValue[1] = %p\n",&charValue[1]);
    printf("charValue[2] = %p\n",&charValue[2]);
    printf("charValue[3] = %p\n",&charValue[3]);

    // &charValue == &charValue[0] == charValue
    printf("charValue = %p\n",&charValue);
    // 其实数组名就是数组的地址
    printf("charValue = %p\n",charValue);
     */
    
    // 0000 0000 0000 0000 0000 0000 0000 0101
    // 0000 0000 0000 0000 0000 0000 0000 0110

    int number[2] = {5,6};
    
    return 0;
}
    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/932493984f4d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞