表达式* ptr ++和++ * ptr是否相同?
两种表达都不同。让我们看一个示例代码来理解两个表达式之间的区别。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <stdio.h>
int main(void)
{
int aiData[5] = {100,200,300,400,500};
int *piData = aiData;
++*piData;
printf("aiData[0] = %d, aiData[1] = %d, *piData = %d", aiData[0], aiData[1], *piData);
return 0;
}
|
输出: 101,200,101
说明:
在上面的示例中,涉及两个运算符,两者都具有相同的优先级,具有从右到左的关联性。所以上面的表达式++ * p相当于++(* p)。换句话说,我们可以说它是值的预增量,输出是101,200,101。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#include <stdio.h>
int main(void)
{
int aiData[5] = {100,200,30,40,50};
int *piData = aiData;
*++piData;
printf("aiData[0] = %d, aiData[1] = %d, *piData = %d", aiData[0], aiData[1], *piData);
return 0;
}
|
输出: 100,200,200
说明:
在上面的示例中,涉及两个运算符,两者都具有从右到左关联的相同优先级。所以上面的表达式* ++ p相当于*(++ p)。换句话说,你可以说它是地址的预增量,输出是100,200,200。
转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/11443868.html
表达式* ptr ++和++ * ptr是否相同?相关推荐
- *ptr++、*++ptr、++*ptr和(*ptr)++
*++ptr.++*ptr.*ptr++.和(*ptr)++ int num[] ={1,3,5,7,9}; int* ptr_num = num; 先看*++ptr,这个很容易看出来先对指针移位地址 ...
- 汇编语言中word ptr | byte ptr分别是什么意思
例如,下面的指令中,用word ptr指明了指令访问的内存单元是一个字单元. mov word ptr ds: [0],1 inc word ptr [bx] inc word ptr ds: [o] ...
- Const *ptr ptr
1. const int *ptr = NULL; <=> int const *ptr = NULL; 1) 表示指向符号常量的指针变量,指针变量本身并非const所以可以指向其他变量. ...
- ptr = (char *)malloc(0)
char *ptr; if ((ptr = (char *)malloc(0)) == NULL) puts( "Got a null pointer "); else puts( ...
- OpenCV辅助对象(help objects)(3)——Ptr
OpenCV中的Ptr(智能指针)经过多次版本修改之后,在OpenCV4.0版本之后编译器需要指出C++11的编译器才能编译.Ptr类也完全进行了修改,将Ptr修改为了使用C++11中的shared_ ...
- A记录、MX记录、NS记录、CNAME、PTR记录、AAAA记录、SRV记录、TXT记录、SOA记录 分别是什么意思
nslookup是一种网络管理命令行工具,可用于查询DNS域名和IP地址 输入指令nslookup A记录: 此记录列出特定主机名的 IP 地址.这是名称解析的重要记录. MX记录:MX记录就是邮件交 ...
- Mat类中ptr的使用
在Mat类中,访问数据的方法有多中,下面着重讲一下ptr成员函数. ptr可以获得指向每一行首地址的指针,访问矩阵中的数据如下: #include "pch.h" #include ...
- C语言再学习 -- 运算符与表达式
分三部分来讲 一.左值与右值 参看:左值与右值 首先我们需要理解左值和右值的定义: 左值指的是如果一个表达式可以引用到某一个对象,并且这个对象是一块内存空间且可以被检查和存储,那么这个表达式就可以做为 ...
- C++11 学习笔记 lambda表达式
http://blog.csdn.net/fjzpdkf/article/details/50249287 lambda表达式是C++11最重要也最常用的一个特性之一.lambda来源于函数式编程的概 ...
最新文章
- Unity手游之路lt;七gt;角色控制器
- oracle+rownum(),Oracle rownum和row_number()
- 【总结】 Lucas定理
- ECS启动新“模”法
- 【转】64位ORACLE客户端上plsql无法识别ORACLE_HOME解决方案
- IE6 与 GZIP, BUG汇总
- LSTM 手动实现车牌识别 Pytorch代码
- 电气能插本计算机类吗,2019年专插本电气工程及自动化专业介绍
- Linux:Pycharm中使用Git
- ADSL拨号上网和宽带上网有什么区别?
- git的使用简介 常用命令
- 计算机音乐专业考研,武汉音乐学院2021年硕士研究生招生考试《计算机音乐作曲》考试大纲...
- Arduino入门小知识点总结(2)(红外感应开关 与 继电器接法 模拟输入输出tone函数)
- 图片url显示服务器,服务器上图片的url地址
- 世界上最著名也最危险的APT恶意软件清单
- ffmpeg与x264编码指南
- 班级优化大师显示网络或服务器异常,希沃班级优化大师常见问题总汇
- vue项目转换服务器端渲染,vue-server-renderer实现vue项目改造服务端渲染
- 搭建嵌入式ARM完整系统
- crypto buuctf rabbit