一、概念
/*
變量
變量在內存中的存儲
由于變量的內存尋址是從大到小,所以存儲數據時 會從高字節開始存儲
數組
注意 : 數組的存儲 和 變量有點不一樣, 數組存儲元素, 是從所占用的低字節開始
其實 數組名 就是 數組的地址
*/
二、代碼
#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;
}
image.png