一、概念
/*
变量
变量在内存中的存储
由于变量的内存寻址是从大到小,所以存储数据时 会从高字节开始存储
数组
注意 : 数组的存储 和 变量有点不一样, 数组存储元素, 是从所占用的低字节开始
其实 数组名 就是 数组的地址
*/
二、代码
#include <stdio.h>
int main()
{
// 变量在内存中的存储
// 由于变量的内存寻址是从大到小,所以存储数据时 会从高字节开始存储
int num = 10; // 0000 0000 0000 0000 0000 0000 0000 0000 1010
// 注意 : 数组的存储 和 变量有点不一样, 数组存储元素, 是从所占用的低字节开始
char charValues[4] = {'l','y','h','p'};
/*
charValues[0] = 0x7fff5fbff7e4
charValues[1] = 0x7fff5fbff7e5
charValues[2] = 0x7fff5fbff7e6
charValues[3] = 0x7fff5fbff7e7
*/
printf("charValues[0] = %p\n",&charValues[0]);
printf("charValues[1] = %p\n",&charValues[1]);
printf("charValues[2] = %p\n",&charValues[2]);
printf("charValues[3] = %p\n",&charValues[3]);
// &charValues == &charValues[0] == charValues
printf("charValues = %p\n",&charValues);
// 其实 数组名 就是 数组的地址
printf("charValues = %p\n",charValues);
// 0000 0000 0000 0000 0000 0000 0000 0101
// 0000 0000 0000 0000 0000 0000 0000 1000
int nums[2] = {5,8};
printf("nums[0] = %p\n",&nums[0]);
printf("nums[1] = %p\n",&nums[1]);
return 0;
}