今天复习了一下C语言的指针题目,发现在很多代码结果题目中都出现了表达式*p++、**++p和++*p,而这几个表达式特别容易混淆。
那么通过什么方式区分他们呢,答案就是运算符优先级。

  1. *p++
    ++和 *(指针访问运算符)优先级相同,根据从右往左的结合性,因此等价于 *(p++),又因为后置++是先使用再自加,所以先取值 *p,然后再让p加1.
  2. *++p
    ++和 *(指针访问运算符)优先级相同,根据从右往左的结合性,因此等价于 *(++p),也就是先让指针p加1,再取此时指针p的值。
  3. ++*p
    ++和 (指针访问运算符)优先级相同,根据从右往左的结合性,因此先取p的值p,然后再将值 *p加1。

可以将其做成表格

A= 第一步 第二步
*p++ *p p++
*++p ++p *(++p)
++*p *p (*p)+1

C语言指针 *p++和*++p及++*p的区别相关推荐

  1. C语言中指针与数组的区别,C语言 指针与数组的详解及区别

    C语言 指针与数组的详解及对比 通俗理解数组指针和指针数组 数组指针: eg:int( *arr)[10]; 数组指针通俗理解就是这个数组作为指针,指向某一个变量. 指针数组: eg:int*arr[ ...

  2. c语言获取指针分配的字节数,c语言指针知识点总结(共6篇).docx

    c语言指针知识点总结(共6篇) C语言指针教学中的知识点分析与总结 摘要:分析指针的基本概念及指针在数组.函数.字符串.动态存储分配等方面的应用,提出指针教学过程中易混淆概念及注意事项,对初学者深入理 ...

  3. C语言指针数组与数组指针的区别

    C语言指针数组与数组指针的区别 首先,顾名思义 数组指针是一个指针,是指向一个数组的指针,如 int (a*)[5]:这就是一个指向含有5个元素的数组的指针 指针数组是一个数组,它包含的元素全是指针变 ...

  4. simple c语言,C语言——指针(simple).ppt

    C语言--指针(simple) 莆田学院计算机教研室 2003年5月 指 针 绍兴文理学院自动化教研室 2011年4月 本讲主要内容 指针概述 地址· 指针· 指针变量 指针变量作为函数参数 指针与数 ...

  5. c语言115写成16进制,C语言指针问题

    C语言指针问题 來源:互聯網  2009-04-01 16:01:29  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: int a=115,*p;p ...

  6. C语言指针总结大学霸IT达人

    C语言指针总结大学霸IT达人 C语言的指针是C语言区别其它语言的最主要的特定之一.有了指针,C语言就可以抛开所有束缚,直接对内存中的数据进行操作,这样,不单对数据的操作更加快捷,并且可以高效的利用空间 ...

  7. CPU 以字节为单位编址,而 C 语言指针以指向的数据类型长度作自增和自减。

    切记:CPU 以字节为单位编址,而 C 语言指针以指向的数据类型长度作自增和自减.

  8. c语言 指针函数 详解,[NOTE-C]C语言指针详解(一)

    C语言指针让一切想法变成可能,强转和指针可以看做一项呼风唤雨的利器,但是C语言中指针应用又需要格外的小心,其更灵活的利用内存,因为不当的应用可能引起各种异常,这篇文章就是让我们一起来认识C指针,更好的 ...

  9. c语言指针的相关运算,C语言指针的运算

    本文讨论使用指针进行的运算,最重要的运算是获取指针所引用的对象或函数.也可以比较指针,使用指针来遍历一个内存区域. 使用指针读取与修改对象 间接运算符 * 生成内存中的位置,该位置的地址存储在一个指针 ...

最新文章

  1. matplotlib.pyplot.scatter API
  2. 在GridView中的批量删除!
  3. 【struts2+hibernate+spring项目实战】分页功能的完整的实现(通用分页、基类实现)
  4. dibian+9+oracle+java_debian – 安装了Oracle Java,但在安装软件时,我得到了`你的Java版本不受支持....
  5. TypeScript学习(三):联合类型及推论
  6. bad geometry specifier 300×400
  7. [Python] 维度交换函数:transpose(m,n,r)和permute(m,n,r)
  8. HTTP协议到底是怎么回事
  9. Anyoffice -HTML5大赛 悦心(基于H5开发安卓音乐app)-项目总结
  10. pymysql操作数据库
  11. VsCode 配置java环境(详细教程)
  12. 如何在线伪造邮箱发件人,用任意邮箱发送邮件
  13. html打开网页一段时间字幕滚动,网页代码:求一个隔段时间可停顿的滚动字幕代码...
  14. 可怕的pyspider猫途鹰
  15. tp5欢迎页 (获取系统信息)
  16. 一种基于最大吸收功率的卫星太阳能电池板安装方案
  17. 尚硅谷+黑马程序员MongoDB视频学习笔记(一)
  18. ‘数据分析实战’——营销组合分析(甲厨电公司案例)
  19. 三个月自学自动化测试,鬼知道我经历了什么?薪资从4.5K到11K
  20. Facebook/atc环境搭建总结

热门文章

  1. 再谈 RocketMQ broker busy(实战篇)
  2. 解决selenium遇到火狐浏览器自动打开下载文件
  3. 音视频开发三:FFmpeg安装与常用命令
  4. linux常用技巧(一):后台下载
  5. 2018年贺岁档电影票房大数据报告!国产电影的黄金时代已经到来?
  6. 文献阅读:SNCSE: Contrastive Learning for Unsupervised Sentence Embedding with Soft Negative Samples
  7. Python入门到实践(上)(牛客网题库)day2
  8. Nepxion Discovery【探索】微服务企业级解决方案
  9. 新新新~Revit插件【建模助手】7大模块介绍
  10. MailKit和MimeKit 收发邮件