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;
}
网友评论