其实是这样的,p储存的是地址,*p代表这个地址储存的值。p++是指地址的自增,(*p)++表示地址储存的值的自增。

按顺序走。int *p=a;

数组名表示地址,这句话的含义是定义一个指针p并将数组a的首地址赋值给pprintf("%d,",*p);

现在p的值为数组a的首地址,*p表示a数组中第一个元素printf("%d,",*(++p));

先将地址自增,再*p,此时p储存的为数组中第二个元素的地址,*p即表示数组中第二个元素的值(也就是2)printf("%d,",(*p)++);

此时p储存的为数组中第二个元素的地址,先*p再使这个地址储存的值自增(也就是先输出2再把2自增),在这个过程中p储存的地址没有变化,不过数组中第二个元素已经由2变为了3。即数组a为{1, 3, 3, 4, 5}printf("%d,",*p);

此时p储存的为数组中第二个元素的地址,*p,输出此地址储存的值,输出数组中第二个元素的值(也就是3)printf("%d,",*p--);

根据符号结合顺序,*p--其实可以写作*(p--),因为是右自减,所以先*p再自减(这个自减指的是p的自减,也就是地址的自减)。

*p时输出数组中第二个元素的值(也就是3),p自减后p中储存的值变为数组中第一个元素的地址(即数组首地址)。printf("%d,",--(*p));

因为是左自减,所以先自减再*p。这个自减指的是*p(即p中储存的地址所对应的值)的自减,自减后数组a中第一个元素由1变为0,*p输出0。

此时数组a为{0, 3, 3, 4, 5}

怕你搞混,在此说一下。*(p--) 指的是先输出地址所对应的值,然后地址本身自减(在数组中前移1位)

(*p)-- 指的是先输出地址所对应的值,再把这个值自减(没有地址的增减,即没有移位)

--(*p) 指的是先把地址对应的值自减,在输出这个值(没有地址的增减,即没有移位)

*(--p) 指的是先地址本身自减(在数组中前移1位),然后输出自减后的地址所对应的值

希望能区分开。

继续。printf("%d\n",*p);

指输出此时地址所对应的值,也就是第一个元素的值(即0)。

c语言*p和**p,c语言分析(*p)++和*p++的不同含义相关推荐

  1. R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据、scale函数进行数据标准化缩放、提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package)

    R语言使用Rtsne包进行TSNE分析:通过数据类型筛选数值数据.scale函数进行数据标准化缩放.提取TSNE分析结果合并到原dataframe中(tSNE with Rtsne package) ...

  2. R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中、可视化tsne降维的结果、并圈定降维后不匹配的数据簇(tSNE identifying mismatch)

    R语言使用Rtsne包进行TSNE分析:提取TSNE分析结果合并到原dataframe中.可视化tsne降维的结果.并使用两个分类变量从颜色.形状两个角度来可视化tsne降维的效果.并圈定降维后不匹配 ...

  3. R语言诊断试验数据处理与ROC分析实战案例2

    R语言诊断试验数据处理与ROC分析实战案例2 目录 R语言诊断试验数据处理与ROC分析实战案例2 #ROC指标 #样例数据

  4. R语言诊断试验数据处理与ROC分析实战案例1

    R语言诊断试验数据处理与ROC分析实战案例1 目录 R语言诊断试验数据处理与ROC分析实战案例1 #ROC指标 #样例数据

  5. R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC

    R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC 目录 R语言诊断试验数据处理与ROC分析实战案例:联合诊断ROC #ROC指标 #样例数据

  6. R语言时间序列(time series)分析实战:简单指数平滑法预测

    R语言时间序列(time series)分析实战:简单指数平滑法预测 目录

  7. R语言时间序列(time series)分析实战:HoltWinters平滑法预测

    R语言时间序列(time series)分析实战:HoltWinters平滑法预测 目录

  8. R语言时间序列(time series)分析实战:霍尔特指数Holt‘s平滑法预测

    R语言时间序列(time series)分析实战:霍尔特指数Holt's平滑法预测 目录

  9. R语言时间序列(time series)分析实战:使用ARIMA模型预测时间序列

    R语言时间序列(time series)分析实战:使用ARIMA模型预测时间序列 目录

  10. R语言Logistic逐步回归模型案例:分析与冠心病有关的危险因素

    R语言Logistic逐步回归模型案例:分析与冠心病有关的危险因素 目录 R语言Logistic逐步回归模型案例:分析与冠心病有关的危险因素

最新文章

  1. linux Centos7下安装python3及pip3
  2. Java内部类作用全解
  3. wince车机可以连接电脑吗_揭秘低价电脑洗车机的“内幕”,看完你还敢用吗?...
  4. tarjan对有向图的缩点(求强连通分量)
  5. CPU缓存一致性协议MESI - 笔记
  6. @RequestMapping 和 @GetMapping @PostMapping 区别
  7. mysql inner join where_mysql中,inner join和where的结合问题
  8. 在ASP.NET Core使用Middleware模拟Custom Error Page功能
  9. Python学习笔记之列表(一)
  10. 算法应用二:【去除笔迹】+【目标提取】用户选择去除错题本上的红色笔迹,只保留题目并打印出来
  11. mstp专线能透传vlan吗_什么是MSTP专线?MSTP专线特点
  12. java生日正则表达式_Java语言十五讲
  13. 2022 SpringBoot/SSM的药品售货机平台 H5药品购买商城
  14. 【PC】解决访问小米路由器外接硬盘需要密码/无密码访问小米路由器共享盘
  15. 核心乐理---音程名称
  16. 强化学习9——贝尔曼方程
  17. PostgreSQL 的安装以及在安装过程中遇到的问题及解决方法
  18. 【Redis源码剖析】 - Redis内置数据结构之压缩列表ziplist
  19. 未来教育计算机一级上网题每次都是零分,计算机一级MS模拟上网题为什么总是0分??!!...
  20. OPPO R9st怎么刷机 OPPO R9st的刷机教程 OPPO R9st完美解除账号锁

热门文章

  1. 城市槽音乐在津巴布韦的美国音乐如何影响其他文化和身份的个案研究
  2. SSL 证书购买以及Nginx配置相关问题
  3. python 笔记:打开nii格式(nibabel 库)
  4. [置顶]       VMWare不能安装64位操作系统原因探析
  5. ArcGIS空间分析实验教程-部分实验案例(ArcPy实现)
  6. 风再起时?风继续吹........
  7. 计算机制造属于连续性生产,生产类型
  8. java程序设计心得_学习Java编程的学习方法总结
  9. GEA 4.5比较各种旋转表达方式
  10. Solr--Solr与Spring整合(非完整版)