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

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

山不在高,有仙则名。水不在深,有龙则灵。

                         ----CSDN 时时三省

例题:

b42ab1789d074e84b8d1bbe0a3725ec9.jpg

这个arr里面是放了[a b c d e f \0] 

第一个arr 这个sizeof是计算这个数组的大小 这个里面加上\0一共是7个元素 所以打印7

第二个arr+0 这个指数组名加0 数组名没有单独放在sizeof内部 所以它是首元素地址 首元素地址加0还是首元素地址 所以这个地方打印4或者8

第三个*arr 没有单独放在sizeof内部 也没有取地址 所以他表示首元素地址 解引用 就表示第一个元素 所以就是打印1

第四个arr[1] 这个[1]表示数组的第二个元素 它的大小就是一个字节 所以打印1

第五个&arr arr是个数组名 数组名进行了取地址 取出的是整个数组的元素 他是个地址 所以打印4或者8

第六个&arr+1 它原本&arr是整个数组 是7个元素 但是+1就跳过了整个数组 跳过了七个元素 这个时候它还是个地址 所以就打印4或者8

第七个&arr[0]+1  arr[0]是我们这个数组的第一个元素 &取出第一个元素的地址 第一个元素地址取出来+1 就是第二个元素的地址 第二个元素地址还是4或者8 就是打印4或者8

 

 

 


http://www.mrgr.cn/news/21178.html

相关文章:

  • 如何使用事件流相关操作
  • FME教程:通过更新读模块,解决FME读取shapefile数据,提示意外输入,“在转换中,某些读取的要素与工作空间的要素类不匹配……”的问题
  • vivado 使用约束编辑器
  • Web安全之GroovyShell讲解:错误与正确示范,安全问题与解决方案
  • Linux 一个简单的中断信号实现
  • spring入门(二)IOC入门案例和DI入门案例
  • golang入门
  • 用华为智驾,开启MPV的下半场
  • 购买白酒的坑,你踩过哪几个?哪个坑伤的最痛!
  • 数据结构之双向链表的实现
  • CRUD的最佳实践,联动前后端,包含微信小程序,API,HTML等(三)
  • erlang学习:用ETS和DETS存储数据3,保存元组到磁盘
  • 别再羡慕别人啦,四种方法轻松打造自己的IP形象
  • 《机器学习》 基于SVD的矩阵分解 推导、案例实现
  • 【鸿蒙HarmonyOS NEXT】调用后台接口及List组件渲染
  • k8s技术架构
  • Linux日志-sar日志
  • AI基础 L2 Agents1
  • 类和对象(中)
  • 灰光模块,彩光模块-介绍