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

炫酷网站设计免费自学网

炫酷网站设计,免费自学网,wordpress 显示文章,用pc机做网站并让外网搜到那这样p和*p记录的地址不一样了吗? 不,p 和 *p 记录的地址在某种意义上是“相同”的,但它们在类型和使用方式上有所不同。 p 的地址:p 是一个指针,它本身存储了一个地址,这个地址是二维数组 arr 的第一行&a…

那这样p和*p记录的地址不一样了吗?

不,p 和 *p 记录的地址在某种意义上是“相同”的,但它们在类型和使用方式上有所不同。

  1. p 的地址p 是一个指针,它本身存储了一个地址,这个地址是二维数组 arr 的第一行(或称为第一个一维数组)的首元素的地址。因此,p 的值(即它存储的地址)是指向 arr[0][0] 的。

  2. *p 的“地址”:当我们说 *p 的地址时,实际上有些误导,因为 *p 不是一个指针,而是一个数组(尽管在表达式中它会被退化为指向其首元素的指针)。但是,如果我们谈论 *p “指向”的地址,我们实际上是在谈论 *p(即 arr[0])的首元素的地址,这与 p 存储的地址是相同的,都是 &arr[0][0]

然而,重要的是要理解 p 和 *p 在类型和使用上的差异:

  • 类型p 的类型是 int (*)[5],即一个指向包含5个整数的数组的指针。而 *p 的类型是 int[5],即一个包含5个整数的数组(但在表达式中它会被退化为 int*)。

  • 使用:你不能直接对 *p 进行赋值或将其作为函数参数传递(因为它不是一个左值),但你可以通过索引来访问它的元素(如 (*p)[0])。而 p 可以被赋值,可以作为函数参数传递,也可以进行指针算术运算(如 p + 1 将指向下一行)。

为了澄清,让我们再次强调:p 存储了一个地址,这个地址是二维数组第一行的首元素的地址。而 *p 在表达式中会被退化为指向这个首元素的指针,但技术上 *p 表示的是整个一维数组的“视图”。然而,我们总是通过索引来访问这个数组中的元素。

总结:p 和 *p 在“指向”的地址上是相同的(都指向 arr[0][0]),但它们的类型和使用方式完全不同。

那*p+1会得到什么?

在C语言中,当 *p 表示一个数组(尽管在表达式中它通常会被退化为指向其首元素的指针)时,直接对 *p 进行算术运算(如 +1)是不合法的,因为 *p 本身不是一个可修改的左值,也不是一个指针。

然而,如果你写了 *p + 1,这里实际上发生的是指针算术的“假象”。由于 *p 在表达式中会被退化为指向数组首元素的指针(即 int* 类型),*p + 1 的结果是一个指向 arr[0][1] 的指针(即 &arr[0][1])。这里,+1 是按照指针的步长(即指向类型的大小)来计算的,对于 int* 类型的指针来说,步长通常是 sizeof(int)

但是,重要的是要明白这种写法(*p + 1)虽然在技术上是合法的,并且可能符合你的预期(得到指向下一个元素的指针),但它实际上是在对已经退化为指针的 *p 进行操作,而不是直接对数组本身进行操作。

如果你想要访问二维数组中的下一个元素(比如从 arr[0][0] 移动到 arr[0][1]),你应该使用 (*p)[1]。但是,如果你想要得到指向下一个元素的指针,那么 *p + 1 是正确的写法,尽管它看起来可能有些令人困惑。

然而,如果你想要遍历二维数组的行,你应该使用指针 p 本身进行算术运算,比如 p + 1 会指向二维数组的下一行(即 &arr[1])。

总结一下:

  • *p + 1 得到的是指向 arr[0][1] 的指针。
  • (*p)[1] 访问的是 arr[0][1] 的值。
  • p + 1 指向二维数组的下一行。
http://www.yayakq.cn/news/223069/

相关文章:

  • 网站建设正版软件滨江道做网站公司
  • 网站程序组成用什么IE打开建设银行网站
  • 做网站编码定制系统开发公司
  • 重庆网站首页排名公司建立简单的网站
  • 专做耐克阿迪鞋网站谷德设计网官网首页入口
  • 怎么架设网站建设银行查询余额进什么网站
  • 自媒体网站建设要求深圳做棋牌网站建设多少钱
  • 西安网站建设设计的好公司排名在线考试网站模板
  • php网站美化北京电商网站排行
  • 学校网站cms商城源码哪家公司好
  • 怎样建设网站的步骤成全视频在线观看免费看
  • 如何兼职做网站网站建设与维护 课件
  • c做网站网站网页背景颜色 多彩
  • 网站关键词词库怎么做大连鼎信网站建设公司地址
  • 网站建设备案审核要多久免费线上培训平台
  • 移动网站建设初学视频教程能访问各种网站的浏览器
  • 响应式网站制作流程如何做网站同步别人的商城
  • wordpress 常用小工具栏东莞seoseo优化排名
  • 外贸seo建站wordpress 通讯录插件
  • 怎么查看网站公司大连 响应式网站制作
  • 昌乐网站设计为什么建站之前要进行网站策划
  • 网站建设 售后服务高端装饰公司网站设计
  • 网站建设 无法打开asp企业策划营销中心
  • 青岛网站制作排名怎样做下载网站
  • 查看网站名称小程序自己做网站
  • 昆山兼职做网站wordpress底部footer
  • 12306网站能不能用银河二计算机做服务器啊慢得要死中国建设银行网站查询密码是什么
  • 电子商务网站cms湖州市建设中心网站
  • 广州网站seo推广自己开发的app如何上线
  • 建设部执业资格注册中心网站查询wordpress 主题demo