目录

  • 一.简介
  • 二.*p++
  • 三.*++ p/++ *p
  • 四.* (p++)与*(++p)
  • 五.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

一.简介

*p++/*(p)++/_(p++)/_p++运算规律:

  • 1.如果 *++/--都在指针变量的左边,结合方向为从右到左;
  • 2.如果 *++/--分别在指针变量的左边/右边,结合方向为从左到右;
  • 3.有括号的先执行括号的表达式,然后在执行规律 1 或者规律 2;
A = 第一步 第二步 得到计算结果
*p++ *p p++ 先取值,后指针++,A = *p;
*++p ++p *(++p) 先指针++,后取值, A = *(++p);
++*p *p (*p)+1 先取值,后值++ ,A = (*p)+1;
(*p)++ *p (*p)+1 先取值,后值++ ,A = (*p)+1;

二.*p++

由于 ++* 分别在指针变量的左右两边,结合方向为自左向右,因此它等价与 (*p)++ 。先引用 p 的值,实现 *p 的运算,然后再使 p 地址自增 1

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 *p++/*(p)++/*(p++)/*p++
//@Time:2021/06/18 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/#include "stdafx.h"
#include "stdio.h"
#include "windows.h"int main()
{int array[] = { 1,2,3,4 };int *p = array;printf("*p++ = %d \n", *p++); //先计算*p ,注意: i++ 与 ++i 区别printf("*p = %d \n", *p);//由于*p++计算之后,p地址偏移+1,所以 *p = 2system("pause");return 0;
}
/*
输出:
*p++ = 1
*p = 2
请按任意键继续. . .
*/

三.*++ p/++ *p

由于 ++* 都在指针变量的左边,结合方向为自右向左,因此它等价与 *(++p) 或者 ++(*p)

/************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 *p++/*(p)++/*(p++)/*p++
//@Time:2021/06/18 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/************************************************************************/#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
int main()
{int array[] = { 1,2,3,4 };int *p = array;printf("*++p = %d \n", *++p);//先将指针地址偏移+1,在取值p = array;printf("++*p = %d \n", ++*p);//先对指针取值,在对值做自加运算system("pause");return 0;
}
/*
输出:
*++p = 2
++*p = 2
请按任意键继续. . .
*/

四.* (p++)与*(++p)

  • *(p++):先对进行运算,再使自加;
  • ** *(++p):先使自加,再进行运算;**
  • ** 上面的原理和变量 i++++i 的原理相同;**

五.猜你喜欢

  1. 安装 Visual Studio
  2. 安装 Visual Studio 插件 Visual Assist
  3. Visual Studio 2008 卸载
  4. Visual Studio 2003/2015 卸载
  5. C 语言格式控制符/占位符
  6. C 语言逻辑运算符
  7. C 语言三目运算符
  8. C 语言逗号表达式
  9. C 语言 sizeof 和 strlen 函数区别
  10. C 语言 strcpy 和 strcpy_s 函数区别
  11. C 语言 memcpy 和 memcpy_s 区别
  12. C 语言 数组定义和使用
  13. C 语言 数组遍历
  14. C 语言 数组排序 – 冒泡法排序
  15. C 语言 数组排序 – 选择法排序
  16. C 语言 数组排序 – 插入法排序
  17. C 语言 数组排序 – 快速法排序
  18. C 语言 数组下标越界
  19. C 语言 数组内存溢出
  20. C 语言 数组下标越界和内存溢出区别
  21. C 语言 二维数组定义和使用
  22. C 语言 二维数组行数和列数计算
  23. C 语言 指针声明和定义
  24. C 语言 指针 p++ / p–
  25. C 语言 p++/§++/_(p++)/_p++

未经允许不得转载:猿说编程 » C 语言 *p++/*§++/*(p++)/*p++

C语言 *p++/*(p)++/*(p++)/*p++ - C语言零基础入门教程相关推荐

  1. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  2. C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写 - C语言零基础入门教程

    目录 一._wcsupr_s 函数简介 二._wcsupr_s 函数实战 三.注意问题 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零 ...

  3. C/C++ _wcslwr_s 函数 – unicode 字符串大写转小写 - C语言零基础入门教程

    目录 一._wcslwr_s 函数简介 二._wcslwr_s 函数实战 三.注意问题 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零 ...

  4. C/C++ _strupr_s 函数 – 字符串小写转大写 - C语言零基础入门教程

    目录 一._strupr_s 函数简介 二._strupr_s 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零基础 C/C+ ...

  5. C/C++ _strlwr_s 函数 – 字符串大写转小写- C语言零基础入门教程

    目录 一._strlwr_s 函数简介 二._strlwr_s 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零基础 C/C+ ...

  6. C/C++ atol函数- C语言零基础入门教程

    目录 一.ltoa 函数简介 二.int/long/unsigned long 区别 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 三.atol 函数 ...

  7. C/C++ strtol 函数 - C语言零基础入门教程

    目录 一.strtol 函数简介 二.strtol 函数函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strtol 函数简 ...

  8. C/C++ strtod函数 - C语言零基础入门教程

    目录 一.strtod 函数简介 二.strtod 函数函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.strtod 函数简 ...

  9. C/C++ ultoa函数 - C语言零基础入门教程

    目录 一.ltoa 函数简介 二.int/long/unsigned long 区别 1.无符号整形(16 位系统) 2.有符号整形(16 位系统) 3.int 和 long 区别 三.ultoa 函 ...

  10. C/C++ ltoa函数 - C语言零基础入门教程

    目录 一.ltoa 函数简介 二.int 和 long 区别 三.ltoa 函数函数实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...

最新文章

  1. 扩展基于注解的spring缓存,使缓存有效期的设置支持方法级别-redis篇
  2. beyond compare类似软件_Mac软件推荐 | 第 20 期
  3. matlab c++ 符号变量问题
  4. 原生JS实现Ajax和JSONP跨域请求
  5. mysql innodb monitor_MySQL innodb_table_monitor 解析
  6. apex图表使用饼图居中_还在用单饼图展示Excel数据?一分钟学会制作复合饼图
  7. 《电路》邱关源 思维导图 第七章-一阶和二阶电路的时域分析
  8. 软件工程 教师信息管理系统
  9. windows批处理备份压缩文件夹rar
  10. Everything搜索语法
  11. 超详细Redis使用手册
  12. 平面设计构图是什么,平面设计基本构图原则和形式是什么:夏雨老师
  13. Mathematica最简教程
  14. 淘宝算法总监解读——淘宝搜索算法现状
  15. 中央电大 c语言程序设计a 试题,最新-中央电大2008年秋C语言程序设计A试题1.doc...
  16. 修改css样式后刷新网页无改变
  17. 【Codeforces301E】Yaroslav and Arrangements
  18. Machine code description classes
  19. 题-宵暗的妖怪(dp)
  20. NodeJS的模块机制

热门文章

  1. 技术改变生活 浅谈阿里云混合云的探索与实践
  2. 从零入门Serverless|一文搞懂函数计算及其工作原理
  3. 解密阿里云高效病原体基因检测工具
  4. 120万人同时在线考试,这么大的流量如何支撑
  5. PyODPS DataFrame 处理笛卡尔积的几种方式
  6. IDE 插件新版本发布,总有一个功能帮到你——开发部署提速 8 倍
  7. 彻底弄懂为什么不能把栈上分配的数组(字符串)作为返回值
  8. 十年磨一剑 | 淘宝如何打造承载亿级流量的首页?
  9. 浪潮云完成6亿元B轮融资,正推进上市;VMware收购AI初创公司Bitfusion;小爱同学App在苹果应用商店下架……...
  10. 微服务架构之「 访问安全 」