数组基础理论
关于数组存储问题——不同编程语言的内存管理是不一样
结论:不同的语言,数组的存储情况不同
以C++为例,在C++中二维数组是连续分布的。
我们来做一个实验,C++测试代码如下:
void test_arr() {
int array[2][3] = {
{0, 1, 2},
{3, 4, 5}
};
cout << &array[0][0] << " " << &array[0][1] << " " << &array[0][2] << endl;
cout << &array[1][0] << " " << &array[1][1] << " " << &array[1][2] << endl;
}
int main() {
test_arr();
}
0x7ffee4065820 0x7ffee4065824 0x7ffee4065828
0x7ffee406582c 0x7ffee4065830 0x7ffee4065834
//地址为16进制,c为12

所以在C++中二维数组在地址空间上是连续的。
Java:
像是没有指针的,同时也不对程序员暴露其元素的地址,寻址操作完全交给虚拟机。
所以看不到每个元素的地址情况,这里我以Java为例,也做一个实验。
zpublic static void te

最低0.47元/天 解锁文章
205

被折叠的 条评论
为什么被折叠?



