二维数组的内存布局详解
创作时间:
作者:
@小白创作中心
二维数组的内存布局详解
引用
CSDN
1.
https://blog.csdn.net/weixin_44319931/article/details/104703869
内存都是线性的,那么二维数组的存储是怎样的?
a[2][2]的内存布局如下图所示:
知道了内存分布,那么有一道例题:
int a[5][5];
int (*p)[4];
p = (int (*)[4])a; //这里要强制转换,不然编译器会报错
printf("%d\n",&p[4][2] - &a[4][2]);
很明显a[5][5]的内存分布如下:
那p的内存分布呢?首先p是一个指针,是指向一个包含4个元素的数组的指针,并且当a作为右值赋给p时,a是作为数组首元素的首地址,也就是说,p的首地址就是a的首元素的首地址,即内存是重合部分的。如下图所示:
所以&p[4][2] - a[4][2]的答案就出来了。
热门推荐
什么是快应用?快应用真的能替代小程序吗?
超声波清洗机去油的原理及最佳清洗溶剂选择
甲状腺癌要清扫中央组淋巴结吗?专家解读手术必要性
普拉提多久见效果
多少算发烧?不同测量部位的体温标准及发热护理指南
MACD的原理是什么?这种原理在技术分析中的应用有哪些?
国产“又粗又大”产品全面崛起:为何消费者纷纷选择大尺寸国产品牌
西递和宏村:安徽双古村的建筑与自然之美
西递宏村在哪个城市?黄山脚下的古村落瑰宝,你去过吗?
祛风湿,强筋骨——鹿衔草
鹿衔草的功效与作用
云计算的安全性如何保障:加密、身份验证与防火墙技术
番茄种植必看:6种常见病虫害防治全攻略
CPU制作工艺大揭秘:如何影响性能、功耗、发热及成本?
白炭黑钠离子电池开创能源存储革命的环境友好型电池体系
电池技术革新与产业变革:新时代背景下的探索与挑战
跟单员如何管理好客户
老年人早餐不宜过早,最佳时间是起床后半小时到一小时
钠离子电池专利如何推动新能源汽车的发展?
刘三姐的故乡在广西哪个地方?刘三姐故乡以及故事
掌握4个搭配公式,轻松提升叠穿时髦感。
“漂亮的领居中文字2个回答”引发的邻里关系思考
苏州十大樱花打卡地全攻略:从上方山到金鸡湖,3月赏樱指南
蓝牙的优势和劣势
单机联网成功破壁,《燕云十六声》是如何实现“既要又要”的?
代谢性酸中毒产生的原因
流放之路2装备购买与制作指南
传统出版编辑和新兴的电子出版编辑岗位有什么区别
四姑娘山旅游注意事项
从“八王八裴”到“无裴不成唐”:河东裴氏的千年兴盛