永发信息网

C语言指针中*a+3和*(a+3)的区别?

答案:5  悬赏:0  手机版
解决时间 2021-02-10 04:27
C语言指针中*a+3和*(a+3)的区别?
最佳答案
*是取指针值,*a+3是取a这个地中存的值再加3。
*(a+3)是把a+3这个地址的值取出来。
如a[4]={1,2,4,8}
*a+3=a[0]+3=4,*a是取a的首地址值,就等于a[0]
*(a+3)=a[0+3]=a[3]=8
全部回答
问的是二维数组吧a[][]! *a+3 :*a为指向第一行第一列,+3,表示列加三 *(a+3) : a表示指向第一行, +3表示行加三
这样给你说吧,如果你的a是一个int型数组,那么*a就值a[0]的值,*a+3=a[0]+3;而*(a+3)=a[3];
如果 int *a 指向地址0x1234, 该地址存放的内容是:11,而0x1240地址上存放的内容是:22 那么: *a+3 ==> 11+3 = 14 *(a+3) ==> (0x1234+c) ==> 22
这是操作符优先级的问题 *a+3,*的优先级比+高,所以这个表达式指针a指向的变量再+3; *(a+3),()的优先级比*高,所以先计算里面的,也就是指针a指向的地址+3,值为地址,然后再算外面的*,提出变量,最后整个值就是a指针后面三个地址的变量的值,也就是a[3]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
马米村地址好找么,我有些事要过去
单选题现代类人猿的生活方式是A.以树栖为主B.
刀塔传奇每天领5000经验
吉白村地址有知道的么?有点事想过去
上海新祥物流常州分公司地址在哪,我要去那里
车款239000购置税多少钱
云南牌照重庆可以审车吗?
怎么旋转手机视频
雪佛兰乐驰0.8发动机用什么机油
光彩集团和深圳光彩怎么样的关系
卸妆霜的英文怎么写
发新村地址有知道的么?有点事想过去
饮水机一台多少钱
西安富伟房地产开发有限公司怎么去啊,有知道
发乃村地址在哪,我要去那里办事
推荐资讯
现在在农村的话养什么动物最赚钱啊 我想养鸽
适合小学女生的可爱网名,不要非主流的。
为明确诊断,可行下列哪些检查A.CD55/CD59阴
霍尼韦尔报警键盘6160怎么布防
香辣婆婆麻辣烫在哪里啊,我有事要去这个地方
广州大学好还是广东财经大学?
来用车用过的人如何评价?
明亮镇育苗幼儿园这个地址在什么地方,我要处
”隔江犹唱后庭花“ 的前一句
凤凰流沙包用英语怎么说
靳少宠妻宠上天在线全文免费阅读
想快点卖掉二手房.该怎么和中介去沟通?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?