您现在的位置是:亿华云 > 域名
二维数组的地址分布究竟是什么样的?
亿华云2025-10-09 03:33:45【域名】6人已围观
简介在数组专题的文章讲解中,讲到了二维数组的地址分布情况,之后也陆续有录友与我交流这个问题,这几天抽空去做一下实验,发现在C++中二维数组的地址空间是连续的。所以单独发文来讲一讲这个问题。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进制,可以看出二维数组地址是分布连续一条线的。
一些录友可能看不懂内存地址,究竟我就简单介绍一下,什样 0x7ffee4065820 与 0x7ffee4065824 差了一个4,维数就是地址4个字节,因为这是分布一个int型的数组,所以两个相信数组元素地址差4个字节。究竟
0x7ffee4065828 与 0x7ffee406582c 也是什样差了4个字节,在16进制里8 + 4 = c,c就是12。
如图:
可以看出在C++中二维数组在地址空间上是连续的。
像Java,Python是高防服务器没有指针的,同时也不对程序员暴漏其元素的地址,寻址操作完全交给虚拟机。
所以看不到每个元素的地址情况,这里我以Java为例,也做一个实验。
public static void test_arr() { int[][] arr = { { 1, 2, 3}, { 3, 4, 5}, { 6, 7, 8}, { 9,9,9}}; System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[3]); }输出的地址为:
[I@7852e922 [I@4e25154f [I@70dea4e [I@5c647e05这里的数值也是16进制,这不是真正的地址,而是经过处理过后的数值了,我们也可以看出,二维数组的每一行头结点的地址是没有规则的,更谈不上连续。
所以Java的二维数组可能是如下排列的方式:
总结
不同编程语言的数据结构在地址中的分布方式是不一样的免费信息发布网,C++中我们是可以直接获取元素的地址,通过实验,我们也证实了二维数组的元素确实是相邻的。
在其他语言中,并没有指针,也获取不到每个元素的地址,以Java为例,通过实验可以推测可能Java里的二维数组是不相邻的。
这里算是对之前讲解数组内容的一个纠正,也是给大家做一个科普。
大家可以发现C++赋给程序员足够的自由,这也是C++的魅力所在。
但有的时候太自由了往往不是好事,编程语言都是各有各的云南idc服务商优点,也不是哪门语言难,它就一定好!
好了,希望通过本篇大家可以二维数组的内存分布有个初步的认识了。
本文转载自微信公众号「代码随想录」,可以通过以下二维码关注。转载本文请联系代码随想录公众号。
很赞哦!(817)
相关文章
- 5. 四种状态过后,域名管理机构释放域名给公众注册。
- 溢价域名是什么域名?新手要了解溢价域名哪些?
- 申请的域名到手后可以退款吗?该怎么做?
- 什么是.com.cn域名?.com.cn域名介绍
- a、变更前的公司证件扫描件(代码证或者营业执照)及联系人身份证复印件、变更后的公司证件扫描件(代码证或者营业执照)及新的联系人身份证复印件;身份证复印件需本人签名,公司证件复印件需加盖公章。
- 作为一家公司可以注册域名吗?公司域名需要怎么注册?
- 如何掌控域名投资动态?有什么投资域名技巧?
- 域名经纪人需要考证吗?
- 当投资者经过第二阶段的认真学习之后又充满了信心,认为自己可以在市场上叱咤风云地大干一场了。但没想到“看花容易绣花难”,由于对理论知识不会灵活运用.从而失去灵活应变的本能,就经常会出现小赢大亏的局面,结果往往仍以失败告终。这使投资者很是困惑和痛苦,不知该如何办,甚至开始怀疑这个市场是不是不适合自己。在这种情况下,有的人选择了放弃,但有的意志坚定者则决定做最后的尝试。
- 域名投资要知道什么基础知识?
热门文章
站长推荐
如果你的潜在终端必须是这个米(域名),那么潜在终端并不多,也没有硬通货,那么你的域名应该在终端有兴趣购买时出售。否则,你可能得自己留着吃。
域名都是怎么买卖的?有什么好的交易方式?
online域名好不好?online域名有什么优势?
合适的域名长度是怎样的?新手如何掌握域名长度?
当投资者经过第二阶段的认真学习之后又充满了信心,认为自己可以在市场上叱咤风云地大干一场了。但没想到“看花容易绣花难”,由于对理论知识不会灵活运用.从而失去灵活应变的本能,就经常会出现小赢大亏的局面,结果往往仍以失败告终。这使投资者很是困惑和痛苦,不知该如何办,甚至开始怀疑这个市场是不是不适合自己。在这种情况下,有的人选择了放弃,但有的意志坚定者则决定做最后的尝试。
域名被盗用怎么解决?有什么避免方法?
为何域名忘记续费过期能拍出80多万?域名价值多么不可思议?
中小企业域名后缀是什么样?该如何选择?