A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 手残程序员 中级黑马   /  2015-7-29 21:58  /  751 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

存储方式:
1)计算机会给二维数组分配一块连续的存储空间

2)数组名代表数组的首地址,从首地址位置,依次存入第1行、第2行、.....

3)每一行存储方式,从行首地址还是,依次存储行的第1个元素、第2个元素、第3个元素......

4)每个元素占用相同的字节数(取决于数组类型)

5)并且数组中元素之间的地址是连续。


arr == &arr[0] == arr[0] == &arr[0][0]


arr (数组名   指向第一行元素的地址)

&arr[0](第一行元素的地址)

arr[0](指向第一行第一个元素的地址)

&arr[0][0](第一个元素的地址)

int arr[3][4] = {{第一行3个元素(第一行一维数组)},  ---->   arr[0]
                {第二行4个元素(第二行一维数组)},   ---->   arr[1]
                {第三行4个元素(第三行一维数组)}};  ---->   arr[2]


arr是一个二维数组

总计占用字节数: sizeof(arr);

每行占用字节数: sizeof(arr[0]);

行数: 总字节数/每行字节数 --> sizeof(arr)/sizeof(arr[0]);

列数: 行数/每个类型 --> sizeof(arr[0])/sizeof(int)



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马