首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
假如整型指针p已经指向某个整型变量x,则(*p)++和下面哪
[单选题]
假如整型指针p已经指向某个整型变量x,则(*p)++和下面哪一个等价?
p++
x++
*(p++)
&x++
查看正确选项
添加笔记
求解答(0)
邀请回答
收藏(207)
分享
9个回答
添加回答
14
EugeneZheng
() 括号优先级最高,对 (*p) 求值即对 p 进行解引用,因此相当于其指向的 x 变量,即 x++ 。
选项 B 正确。
发表于 2018-02-25 15:30:07
回复(0)
更多回答
30
Chen7006
一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样:从变量名处起,根据运算符优先级结合,一步一步分析:
int p; //这是一个普通的整型变量
int *p; //首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P是一个返回整型数据的指针
int p[3]; //首先从P 处开始,先与[]结合,说明P 是一个数组,然后与int 结合,说明数组里的元素是整型的,所以P 是一个由整型数据组成的数组
int *p[3]; //首先从P 处开始,先与[]结合,因为其优先级比*高,所以P 是一个数组,然后再与*结合,说明数组里的元素是指针类型,然后再与int 结合,说明指针所指向的内容的类型是整型的,所以P 是一个由返回整型数据的指针所组成的数组
int (*p)[3]; //首先从P 处开始,先与*结合,说明P 是一个指针然后再与[]结合(与"()"这步可以忽略,只是为了改变优先级),说明指针所指向的内容是一个数组,然后再与int 结合,说明数组里的元素是整型的.所以P 是一个指向由整型数据组成的数组的指针
int **p; //首先从P 开始,先与*结合,说是P 是一个指针,然后再与*结合,说明指针所指向的元素是指针,然后再与int 结合,说明该指针所指向的元素是整型数据.由于二级指针以及更高级的指针极少用在复杂的类型中,所以后面更复杂的类型我们就不考虑多级指针了,最多只考虑一级指针.
int p(int); //从P 处起,先与()结合,说明P 是一个函数,然后进入()里分析,说明该函数有一个整型变量的参数,然后再与外面的int 结合,说明函数的返回值是一个整型数据
Int (*p)(int); //从P 处开始,先与指针结合,说明P 是一个指针,然后与()结合,说明指针指向的是一个函数,然后再与()里的int 结合,说明函数有一个int 型的参数,再与最外层的int 结合,说明函数的返回类型是整型,所以P 是一个指向有一个整型参数且返回类型为整型的函数的指针
原文:
https://blog.csdn.net/constantin_/article/details/79575638
发表于 2018-12-27 08:44:11
回复(1)
1
Wendy-Rong
(*p)++:指针指向的内存地址中的变量值 +1,即 x = x+1
A选项:
p++,
指针p指向下一个地址值
B选项:x++,将变量 x + 1,即 x = x+1
C选项:
*(p++),将指针指向下一个内存地址,且取其中存储的变量值
D选项:&x++,++运算符优先级比 & 高,所以是先将 x++ 再取 这个数字对应的地址值
发表于 2022-04-21 10:34:46
回复(2)
1
380203612
C *(p++) 也是x,后置自增是整个表达式结束后再自增
发表于 2019-11-12 13:06:41
回复(0)
1
adminlpx
ACD选项做了相同的事
发表于 2018-03-08 23:29:33
回复(0)
0
牛客342810435号
A、C、D都是在给p中地址加一个位(也就是4个位,例如p里面储存的地址的值是2040,那么pp+、*(p++)、&x++都是在给地址加一个位,加了之后就变成2044了,因为x是int类型,地址加一也就是加一个位),Bx++符合
发表于 2024-08-12 14:41:00
回复(0)
0
Blue.2.0
(*p)++ p是一级指针,*p也就是取指针所指向空间里的值,此时*p也可以理解为一个变量
发表于 2022-03-03 10:47:09
回复(0)
0
AGMZ
B
发表于 2018-03-12 21:24:09
回复(0)
0
进步的学者
b
发表于 2018-02-26 17:17:16
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
C++工程师
2017
C语言
趋势科技
Java工程师
上传者:
星辰大海的碎片
难度:
9条回答
207收藏
6437浏览
热门推荐
相关试题
数组的第一个元素的内存地址被称为
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
趋势科技
2019
评论
(1)
下列哪一项不是SQL约束类型的一种?
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
趋势科技
2019
评论
(1)
class A; class B;...
360集团
C++
C语言
评论
(18)
来自
360公司2014校招笔试卷
某商品表products需添加'上...
SQL
评论
(1)
在Vue组件销毁时,关于清除定时器...
Vue
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题