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

目录

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

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

一.简介

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BugkuCTF-MISC题这是一张单纯的图片

图片隐写: 第一步:下载好图片,010editor打开图片 第二步:仔细观察,你会发现结尾处一栏出现了像unicode的编码。所以优先考虑是unicode编码。 复制这段unicode编码使用在线转码工具进行解码,找到flag&…

C语言 使用指针遍历数组 - C语言零基础入门教程

目录 一.使用数组下标遍历数组 1.计算数组元素个数2.通过下标遍历数组 二.使用数组首地址偏移遍历数组三.使用指针遍历数组四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.使用数组下标遍历数组 数组中的每个元素都有一个序号,这…

2018,这一年的腾讯优图,我们总结一下!

戳蓝字“CSDN云计算”关注我们哦!2018,腾讯年满20,恰逢弱冠;2018,巨头持续布局AI,可谓“落地生花”的一年。毋庸置疑,腾讯也“玩”AI,最具代表性的,就是“玩出”了三大实…

BugkuCTF-MISC题只有黑棋的棋盘(writeup)

手动分离压缩包注意:zip压缩包文件头格式为504B0304,之间包含504B0102,文件以504B0506****结尾,注意这类格式。 解题流程 题目是1个压缩包,还有提示:动手修复。 1.先把压缩包解压,得到图片和…

js之讲解

1.啥时js 脚本语言 2.基本使用及HelloWorld <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><!-- js代码&#xff0c;也可以放入body中--> <!-- <script>…

C语言 指针和数组区别 - C语言零基础入门教程

目录 一.前言二.指针和数组区别 1.通过 sizeof 获取大小 a.计算数组大小b.计算指针大小 2.指针和数组赋值方式不同 a.指针赋值b.数组赋值 3.指针是指针变量&#xff0c;数组是指针常量 三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.前言 …

AI时代的交换机什么样?华为CloudEngine 16800告诉你!

[中国&#xff0c;北京&#xff0c;2019年1月9日] “网络新引擎AI赢未来”华为网络春季新品发布会在北京顺利召开&#xff0c;华为发布了业界首款面向AI时代的数据中心交换机CloudEngine 16800&#xff0c;定义了AI时代数据中心交换机的三大特征&#xff0c;创新性地引入AI技术…

BugkuCTF-MISC题蜘蛛侠

下载附件 好几个加密文件&#xff0c;注释部分给出密码的提示 这个是苏州码子&#xff0c;〡 〢 〣 〤 〥 〦 〧 〨 〩 十分别对应1-10 压缩包密码是肆肆壹拾陆玖玖捌拾壹&#xff0c;根据hint.txt得知需要根据加密脚本&#xff0c;写出解密脚本得到file.jpg key.jpg数据被p…

C语言 指针数组 - C语言零基础入门教程

目录 一.简介 1.数组2.指针3.指针和数组区别 二.指针数组三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.简介 1.数组 数组中的每个元素都有一个序号&#xff0c;这个序号从 0 开始&#xff0c;称为下标 index&#xff0c;例如&#xff0c…

BugkuCTF-MISC题做个游戏

补充&#xff1a; &#xff08;一&#xff09; JAR 文件就是 Java Archive File&#xff0c;顾名思意&#xff0c;它的应用是与 Java 息息相关的&#xff0c;是 Java 的一类文档格式。JAR 文件非常类似 ZIP 文件——准确的说&#xff0c;它就是 ZIP 文件&#xff0c;所以叫它…

js(javascript)之浏览器控制台使用

基本语法入门&#xff0c;必备调试技巧 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script>//js严格区分大小写//1.定义变量//var num1;//alert(num);//2.条件控制var …

C语言 数组指针 - C语言零基础入门教程

目录 一.简介 1.数组2.指针3.指针和数组区别 二.数组指针三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.简介 1.数组 数组中的每个元素都有一个序号&#xff0c;这个序号从 0 开始&#xff0c;称为下标index&#xff0c;例如&#xff0c;…

Spark+Alluxio性能调优十大技巧

戳蓝字“CSDN云计算”关注我们哦&#xff01;由于统一访问对象存储&#xff08;如S3&#xff09;和HDFS数据的场景的出现和普及&#xff0c;Apache Spark结合Alluxio的大数据栈越来越受欢迎。此外&#xff0c;越来越流行的计算与存储分离的架构导致计算端查询延迟增大。因此&am…

jq(jquery)之点击隐藏段落

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>点击p段落&#xff0c;把它们隐藏</title><script src"https://code.jquery.com/jquery-3.4.1.min.js"></script><scr…

C语言 指针数组和数组指针区别 - C语言零基础入门教程

目录 一.简介 1.数组2.指针3.指针和数组区别 二.指针数组和数组指针区别 1.指针数组2.数组指针 三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.简介 1.数组 数组中的每个元素都有一个序号&#xff0c;这个序号从 0 开始&#xff0c;称为下…

BugkuCTF-MISC题FileStoragedat

知识点 FileStorage是微信存储数据的一个文件夹&#xff0c;该文件夹下存放的是经过加密后微信里发送、接受的图片而形成的文件后缀为dat的文件。就是微信dat文件。想要做出此题&#xff0c;就得先弄懂微信dat文件形成的原因。 微信的dat文件&#xff0c;将微信图片的各字节通…

jq之语法

语法&#xff1a;$(selector).action() 例子&#xff1a; $(this).hide(); 隐藏当前元素 $("p").hide(); 隐藏所有段落 $("p.test").hide();隐藏所有class"test"的段落 $("#test").hide();隐藏所有id"test"的元素 2.防…

官宣!张小龙史上最长演讲 4小时3万字完整版回应微信的一切

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章来自&#xff1a;腾讯科技&#xff08;ID:qqtech)腾讯科技讯 1月9日消息&#xff0c;在今日举行的2019微信公开课PRO的微信之夜上&#xff0c;腾讯公司高级执行副总裁、微信事业群总裁张小龙做了他自己有史以来最长的一次演讲&a…

C语言 空指针 NULL - C语言零基础入门教程

目录 一.指针简介二.空指针 NULL三.关于 NULL 和 0四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.指针简介 在前面的文章有关于指针的介绍&#xff1a;指针很灵活&#xff0c;它可以指向任意类型的数据。指针的类型说明了它所指向地址空间…