当前位置: 首页 > article >正文

【时时三省】(C语言基础)指针进阶 例题7

山不在高,有仙则名。水不在深,有龙则灵。                           ----CSDN 时时三省

二维数组

3be228a8258741368393090d8fd72677.jpg

 

 第一个a 因为它有12个元素 每个元素占4个字节 所以就打印48

第二个a[0][0] 表示是第一行第一个元素  所以它算的就是第一行第一个元素所占的大小 所以就打印4

第三个a[0]它就可以理解为 第一行的数组名 所以它就是计算的第一行的大小 所以它就是打印16

第四个a[0]+1   a[0]作为数组名并没有单独放在sizeof内部 也没有取地址 所以a[0]表示的是第一行第一个元素的地址 a[0]+1就是第一行第二个元素的地址

第五个*(a[0]+1)  这个是解引用的第一行第二个元素的地址 因为它是int类型 所以打印4个字节

第六个a+1 a代表首元素地址 对于二维数组来说 首元素就是代表第一行 +1就表示第二行的地址 所以他就打印4

第七个*(a+1) a+1代表第二行的地址 然后解引用 第二行有4个元素 每个元素4个字节 所以它就是打印16

第八个&a[0]+1 &a取出来的是整个数组的地址 &a[0]取出来的是第一行的地址  +1就表示的第二行的地址 所以就是打印4

第九个*(&a[0]+1) 这个表示第二行的地址 解引用以后计算的就是第二行的所有元素的大小 就是打印16

第十个*a a表示首元素地址 首元素就是第一行的地址 第一行的地址解引用以后就是打印16

第十一a[3] a[3]其实是第四行的数组名(如果有的话)所以其实不存在 也能通过类型计算大小的 所以它就打印16 

 


http://www.kler.cn/a/304436.html

相关文章:

  • 写给Pythoner的前端进阶指南(五):事件驱动模型
  • OpenCV相机标定与3D重建(26)计算两个二维点集之间的部分仿射变换矩阵(2x3)函数 estimateAffinePartial2D()的使用
  • 本地摄像头视频流在html中打开
  • 相机雷达外参标定综述“Automatic targetless LiDAR–camera calibration: a survey“
  • NACA四位数字翼型
  • vulnhub靶场【WhowWantsToBeKing】之1
  • SQLITE3数据库实现信息的增删改查
  • ensp—路由过滤、路由引入、路由策略
  • 【基础知识复习 - 随机练习题】
  • 1935. 公交换乘(transfer)
  • 常用环境部署(二十)——docker部署OpenProject
  • 基于华为云服务器的网页部署
  • 【Android】使用和风天气API获取天气数据吧!(天气预报系列之一)
  • ARCGIS PRO DSK MapTool
  • 使用Azure Devops Pipeline将Docker应用部署到你的Raspberry Pi上
  • 【Hadoop|MapReduce篇】Hadoop序列化概述
  • LabVIEW FIFO详解
  • 分享六款小众宝藏软件,建议收藏!
  • golang os.Eixt的介绍和使用
  • 【C++】vector常见用法
  • 数字化大屏解决方案 - GoView
  • 如何通俗易懂的解释TON的智能合约
  • DolphinScheduler应用实战笔记
  • ROS2 Control controller_interface说明
  • 论文阅读笔记: DINOv2: Learning Robust Visual Features without Supervision
  • LOAM学习