C++中二维数组的地址怎么分布
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,这篇文章主要讲解了"C++中二维数组的地址怎么分布",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"C++中二维数组的地址怎么分布"吧!C++测试代码如下
千家信息网最后更新 2024年11月30日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安全错误
数据库的锁怎样保障安全
数据库为列设置默认值
银川数字化安全文化展厅软件开发
word使用的软件开发技术
市场监管局网络安全职责
数据库平台采用的技术
音频软件开发原理
数据库系统设计文档的目的
缺少网络安全意识英语作文
网络安全技能培训平台
数据库技术应用试卷
陕西曙光服务器维修维保哪家好
人工智能可以做软件开发吗
梦安网络技术有限公司怎么样
初中毕业能不能学网络技术
锐捷酒店网络安全管理
服务器租赁税率
服务器moc是什么意思
虚拟服务器什么意思
互联网征信与金融科技
eplan视频迁移数据库
为什么用虚拟机学习网络安全
蚂蚁金服推出的国产分布数据库
江宁区网络安全平台
白云正规网络安全建设
缺少网络安全意识英语作文
学校网络安全问题说明材料
cf生化服务器有几个
我县网络安全宣传活动
智慧芽数据库登录
漯河微商软件开发