*p++是指下一个地址;

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

/******************解释**********************/

->C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样。

->在(*p)++中,由于()的优先级比*和++都高,所以++作用在()内的表达式*p上.

/*****************解释************************/

*(p++)是指是先取*p的值,再使p值+1;

*(++p)是指先对p+1,然后再取*p的值;

++(*p)是指地址p所指的数据+1;

*(p--)是指先取*p所对应的数据,然后使p-1;

*(--p)是指先使p-1,然后在进行*p运算。

/****************解释*************************/

->*(p--)  相当于     a [i--];

->*(++p) 相当于     a [++i];

->*(--p)   相当于     a [--i];

/***************解释**************************/

例:

int x,y,z,l,m,n,q;

int  a[]={1,2,3,4,5};

int* p=a;

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

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

z=*(p++);       //执行这一句话后,z=a[0]=1, p=a+1

l=*(++p);  //执行这一句后,l=a[1]=2,  p=a+1

m=++*(p)     //执行这一句后,m=++a[0]=2   p=a

n=*(p--)  //执行这一句后,n=*p-1=1-1=0 p=a

q=*(--p)  //执行这一句后,p=p-1=a-1,先让p自减,在进行*运算。q=a[-1]//此处理解即可,数组不存在a[-1]

c语言中 *p++ 和 (*p)++ 和 *(p++) 和 *(++p) 和++(*p)和 *(p--)和 *(--p)有什么区别?的更多相关文章

  1. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  2. Java语言中的面向对象特性总结

    Java语言中的面向对象特性 (总结得不错) [课前思考]  1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类?  2. 面向对象编程的特性有哪三个?它们各自又有哪些特性?  3. 你知 ...

  3. python语言中的编码问题

    在编程的过程当中,常常会遇到莫名其妙的乱码问题.很多人选择出了问题直接在网上找答案,把别人的例子照搬过来,这是快速解决问题的一个好办法.然而,作为一个严谨求实的开发者,如果不从源头上彻底理解乱码产生的 ...

  4. 在C语言中利用PCRE实现正则表达式

    1. PCRE简介 2. 正则表达式定义 3. PCRE正则表达式的定义 4. PCRE的函数简介 5. 使用PCRE在C语言中实现正则表达式的解析 6. PCRE函数在C语言中的使用小例子 1. P ...

  5. C语言中函数声明实现的位置

    在学习C语言的时候我遇到了这么个事情,因为之前先学习的C#,在C#编译器中,函数的声明位置不会影响编译的结果,但是在C语言中却发生了错误 先看一段代码: #include <stdio.h> ...

  6. C语言中的栈和堆

    原文出处<http://blog.csdn.net/xiayufeng520/article/details/45956305#t0> 栈内存由编译器分配和释放,堆内存由程序分配和释放. ...

  7. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  8. C语言中结构体赋值问题的讨论

    今天帮师姐调一个程序的BUG,师姐的程序中有个结构体直接赋值的语句,在我印象中结构体好像是不能直接赋值的,正如数组不能直接赋值那样,我怀疑这个地方有问题,但最后证明并不是这个问题.那么就总结一下C语言 ...

  9. Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...

  10. C语言中史上最愚蠢的Bug

    C语言中史上最愚蠢的Bug   本文来自“The most stupid C bug ever”,很有意思,分享给大家.我相信这样的bug,就算你是高手你也会犯的.你来看看作者犯的这个Bug吧.. 首 ...

随机推荐

  1. 从零搭建docker+jenkins 自动化部署环境

    从零搭建docker+jenkins+node.js自动化部署环境 本次案例基于CentOS 7系统 适合有一定docker使用经验的人阅读 适合有一定linux命令使用经验的人阅读 1.docker ...

  2. ZHS16GBK编码中汉字缺失

    生产中使用ZHS16GBK编码的Oracle数据库,若出现字,则会出现乱码 原因是此字不存在在ZHS16GBK编码中 解决方法可以:此二字结构相同,但是后面的在ZHS16GBK编码中出现

  3. March 26 2017 Week 13 Sunday

    Deliver not your words by number but by weight. 言不在多,而在有物. Do more than talk, say something. I still ...

  4. DOS下启动MySQL时输入net start mysql 提示服务名无效的问题

    原因:mysql服务名错误. 正确做法:net start  +mysql服务名

  5. (转)python with as的用法

    源地址https://www.cnblogs.com/DswCnblog/p/6126588.html With语句是什么? 有一些任务,可能事先需要设置,事后做清理工作.对于这种场景,Python的 ...

  6. DSL-领域特定语言(英语:domain-specific language、DSL)

    领域特定语言(英语:domain-specific language.DSL)指的是专注于某个应用程序领域的计算机语言.

  7. BZOJ1033:[ZJOI2008]杀蚂蚁antbuster(模拟)

    Description 最近,佳佳迷上了一款好玩的小游戏:antbuster.游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,右 下角是蛋糕,蚂蚁会源源不断地从窝里爬出来,试图把蛋糕搬回蚂蚁窝.而你的 ...

  8. PythonTip(2)

    结尾0的个数 描述: 给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数.(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大). 例如: L=[2,8,3,50], 则输出:2 n = ...

  9. umlの类图

    版权声明:本文为博主原创文章,若要转载请注明出处!^_^ https://blog.csdn.net/u010892841/article/details/24844825 类图class diagr ...

  10. 百练oj 2815:城堡问题(dfs)

    传送门: http://bailian.openjudge.cn/practice/2815 2815:城堡问题 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB ...