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

*p++,*(p++),*++p,(*p)++区别?

在这里插入图片描述
*p++:等同于:*p; p += 1;

解析:由于和++的运算优先级一样,且是右>结合。故p++相当于*(p++),p先与++结合,>然后p++整体再与结合。前面陈述是一种最
常见的错误,很多初学者也是这么理解的。
但是,因为++后置的时候,本身含义就是先
运算后增加1(运算指的是p++作为一个整体
与前面的
进行运算;增加1指的是p+1),所
以实际上p++符号整体对外表现的值是p的
值,运算完成后p再加1.

【注意】是运算后p再加1,而不是p所指向的变量*p再加1
*++p:等同于 p += 1; *p;

解析:由于++在p的前面,++前置的含义是,先加1,得到一个新的p(它的值是原来p的值加1)。然后这个新的p再与前面的*结合.

【总结】无论是p++还是++p,都是指针p += 1,即p的值+1,而不是p所指向的变量*p的值+1。

++前置与&#


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

相关文章:

  • 蓝桥杯嵌入式--字符串比较在串口通信中的应用
  • GPT-4来了!看看她究竟强在哪里!
  • 大学四年..就混了毕业证的我,出社会深感无力..辞去工作,从头开始
  • ImageView(图像视图)
  • 动手实现一遍Transformer
  • 【2024考研】计算机考研,4轮复习时间安排
  • 基于stm32mp157 linux开发板ARM裸机开发教程Cortex-A7 开发环境搭建(连载中)
  • redis持久化的几种方式
  • 文心一言发布,你怎么看?chatGPT
  • python解析Java文件三方库javalang用法简介
  • MySQL索引特性
  • 【完整代码】用HTML/CSS制作一个美观的个人简介网页
  • 若依整合Easy-Es实现文章列表分页查询
  • 02-PostgreSQL 存储过程的进阶介绍(含游标、错误处理、自定义函数、事务)
  • 真实的软件测试日常工作是咋样的?
  • Delphi 一个函数实现腾讯云最新版(API3.0)短信发送
  • C++基础教程
  • PMSM矢量控制笔记(1.1)——电机的机械结构与运行原理
  • News乐鑫科技亮相德国嵌入式展 Embedded World 2023!
  • Java每日一练(20230319)