广告
返回顶部
首页 > 资讯 > 精选 >*p++和(*p)++有什么区别
  • 244
分享到

*p++和(*p)++有什么区别

2023-06-20 14:06:58 244人浏览 独家记忆
摘要

本篇内容介绍了“*p++和(*p)++有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!“*p++”和“(*p)++”的区别是:1、“

本篇内容介绍了“*p++和(*p)++有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

“*p++”和“(*p)++”的区别是:1、“*p++”示取p所指单元的值,p指向下一单元,即p自加1。“*p++”是指下一个地址。2、“(*p)++”是指将*p所指的数据的值加一。

教程操作环境:windows7系统、c++17版本、Dell G3电脑。

区别:

*p++示取p所指单元的值,p指向下一单元,即p自加1。*p++是指下一个地址。

(*p)++是指将*p所指的数据的值加一。

C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样;在(*p)++中,由于()的优先级比*和++都高,所以++作用在()内的表达式*p上。

比如有:

int x,y,a[]={1,2,3,4,5},*p=a,*q=a;

x=*p++;//执行这一句后x=a[0]=1,p=a+1

y=(*q)++;//执行这一句后,y=a[0]+1=2,q仍然=a

扩展资料:

验证程序1

#include"stdio.h"void main(){int a=2;int*p=&a;int*pold;//记录P指向的地址,为了作为比较使用pold=p;//-----------原来的信息printf("原来的a=%d",a);printf("原来的p=%x",p);printf("原来的pold=%x",pold);//----------进行变化printf("*p++的结果=%d,a的结果a=%d",*p++,a);printf("地址变化的结果p-pold=%x",p-pold);}

程序2

#include"stdio.h"void main(){int a=2,*p=&a,*q=&a;printf("%d%d",(*p),a);printf("%d%d%d%d",(*p)++,*p++,*q++,a);printf("%d",a);}

程序3:

#include"stdio.h"void main(){int a=2,*p=&a,*q=&a;printf("%d%d",(*p),a);printf("%d%d%d",*p++,(*p)++,*q++);p=&a;q=&a;printf("%d%d%d%d",a,*p,(*q)++,a);printf("%d%d%d%d",a,++(*p),++(*q),a);printf("%d",a);}

综上所述:

*p++是先取出*p的值,然后让p++

(*p)++是先取出*p的值,让这个值++

*(P++)是先取出*p的值,让p++

所以,*p++等价于*(P++)

而且printf的运行顺序是从右向左运行。而且右++是在整个运算表达式运算完才进行,而且右++的执行顺序是从左到右进行。而左++遇到变量就会立即增加变量的值。

验证printf的运算顺序

#include"stdio.h"void main(){int a=2;printf("a++=%d,++a=%d,a++=%d",a++,++a,a++);printf("a=%d",a);}

“*p++和(*p)++有什么区别”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: *p++和(*p)++有什么区别

本文链接: https://www.lsjlt.com/news/297645.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • *p++和(*p)++有什么区别
    本篇内容介绍了“*p++和(*p)++有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!“*p++”和“(*p)++”的区别是:1、“...
    99+
    2023-06-20
  • delete[] p->elems和free(p->elems)区别是什么
    这篇文章主要讲解了“delete[] p->elems和free(p->elems)区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“delete[] p->ele...
    99+
    2023-07-05
  • c语言中*p和p的区别是什么
    区别:1、表示的含义不同,“*p”表示此指针指向的内存地址中存放的内容,“p”表示一个指针变量的名字,指此指针变量所指向的内存地址。2、输出的格式不同,“*p”输出的一般是一个和指针类型一致的变量或者常量,“p”输出的是一个16进制数, 输...
    99+
    2023-05-14
    指针 C语言
  • c语言中*p和p的区别有哪些
    这篇文章主要讲解了“c语言中*p和p的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c语言中*p和p的区别有哪些”吧!区别:1、表示的含义不同,“*p”表示此指针指向的内存地址中存...
    99+
    2023-07-04
  • delete[]p->elems和free(p->elems)区别介绍
    delete[]和free()都是释放内存的函数,但它们具有不同的使用方法和适用情况。 delete[] 通常用于释放C++中动态分配的数组空间。在使用new[]运算符分配内存时,应...
    99+
    2023-05-14
    delete[] p->elems和free(p->elems)区别 delete[] p->elems和free(p->elems)
  • CSS中div、br和p区别是什么
    这篇文章主要介绍“CSS中div、br和p区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS中div、br和p区别是什么”文章能帮助大家解决问题。 一...
    99+
    2022-10-19
  • HTML中<p>和<br>的区别有哪些
    这篇文章将为大家详细讲解有关HTML中<p>和<br>的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   p标签   <p> 标签是一个段落标...
    99+
    2022-10-19
  • C语言中*p+1和*(p+1)之间有什么不同
    本篇内容主要讲解“C语言中*p+1和*(p+1)之间有什么不同”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言中*p+1和*(p+1)之间有什么不同”吧!区别是:1、*p表示此指针指向的内存...
    99+
    2023-06-20
  • cmd批处理中set /a和set /p的区别是什么
    这篇文章将为大家详细讲解有关cmd批处理中set /a和set /p的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在 SET 命令中添加了两个新命令行开关:SET /A expressionS...
    99+
    2023-06-08
  • HTML中<p>和<br>的区别有哪些
    这篇文章主要为大家展示了HTML中<p>和<br>的区别有哪些,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“HTML中<p>和<br>的区别有哪些”...
    99+
    2023-06-06
  • CSS中p标签与div标签区别是什么
    这篇文章主要介绍“CSS中p标签与div标签区别是什么”,在日常操作中,相信很多人在CSS中p标签与div标签区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS中...
    99+
    2022-10-19
  • css p是什么
    本篇内容介绍了“css p是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • <br>与<p>标签有哪些区别
    这篇文章主要为大家展示了“<br>与<p>标签有哪些区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“<br>与<p&...
    99+
    2022-10-19
  • HTML的<br>与<p>标签区别是什么
    本篇内容介绍了“HTML的<br>与<p>标签区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细...
    99+
    2022-10-19
  • html中p是什么
    这篇文章将为大家详细讲解有关html中p是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 p是甚么 html p标签是html元素标签一员,p标签是文章段落标签。...
    99+
    2022-10-19
  • css p是什么元素
    本教程操作环境:Windows10系统、CSS3版、DELL G3电脑css p是什么元素?p是段落标签,里面一般写文字内容,div、h1 或 p 元素常常被称为块级元素。块级元素就是默认撑满整行,之后的标签会显示在它下面,对应的行内元素是...
    99+
    2023-05-14
    css
  • css p元素指的是什么
    本篇内容介绍了“css p元素指的是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!css p是指段落标签<p></p&...
    99+
    2023-07-05
  • Go在什么时候会抢占P
    本篇内容主要讲解“Go在什么时候会抢占P”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go在什么时候会抢占P”吧! 调度器的发展史在 Go 语言中,Goroutine 早期是没有设计成...
    99+
    2023-06-15
  • html5中p指的是什么意思
    这篇文章主要为大家展示了“html5中p指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5中p指的是什么意思”这篇文章吧。 ...
    99+
    2022-10-19
  • 一种正则和 lambda 的有趣结合(P
    【foo.py】# encoding: utf-8 # author: walker # date: 2019-07-15 # summary: 一种正则和 lambda 的有趣结合 import re dic = {'user': '...
    99+
    2023-01-31
    正则 有趣 lambda
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作