C++中二维数组的地址怎么分布
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要讲解了"C++中二维数组的地址怎么分布",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++中二维数组的地址怎么分布"吧!C++测试代码如下
千家信息网最后更新 2025年02月05日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++中二维数组的地址怎么分布"的内容了,经过本文的学习后,相信大家对C++中二维数组的地址怎么分布这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
地址
数组
二维
C++
元素
字节
就是
进制
学习
内容
情况
数值
测试
不对
这不
两个
代码
内存
同时
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
三坐标测量软件开发
浪潮忘记服务器密码
专业服务器散热器多少钱
云服务器低
湖南网络安全设备公司
网警网络安全日是几月几号
苹果手机vnp服务器
网络安全及其防范试题
俄罗斯总理谈网络安全
恒生科技互联网
微信小程序获取数据库图片
中办关于落实网络安全责任制
数据库的属性名词解释
登录华为账号提示服务器忙
网络安全工作研修考试
鬼泣服务器爆满怎么进
济南网络技术有限公司
小孩网络安全教育心得
用友T3 项目数据库表
服务器u盘安装
sql服务器不能启动
服务器负载满了怎么办
手游lol国际服连接服务器错误
网警网络安全日是几月几号
服务器上安装centos
网络安全宣传作文600多字
私营网络安全公司有发展前途吗
安徽易活网络技术电话
扭曲丛林服务器开多久
h3c服务器安装指导手册