问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

一道C语言题,关于指针的,若有说明语句"int a[5],*p=a;",则对数组元素的正确引用是?

发布网友 发布时间:2023-01-13 10:49

我来回答

2个回答

热心网友 时间:2023-11-04 09:15

下来看看这个程序的作用:
int a[5],*p=a;
前半句int a[5]是声明一个整型数组a,它有五个元素,分别是a[0]、a[1] 、a[2]、A[3]、a4[4],系统为她们分配五个连续的储存空间。
后半句*p=a,定义了一个指向整形变量的指针p,并且把a[0]的地址赋值给p,所以p的值是a[0]的地址,我们也叫把指针p指向数组a(或者元素a[0]);
再来看看四个选项:
A,a[p],它用p作为数组a的下标。在所有的编程语言中,系统自动分配给变量的储存地址都是一个非常大的数,所以a[0]的地址(也就是p的值)也是一个非常大的数(比4大得多),所以A[p]的下标非常大,所以也也不会是从a0至a4之间的任何一个元素,所以A[p]不会对数组的元素正确引用,故选项A是错误的。
B,p[2],因为p指向了数组a,所以,P[a]也代表,数组以a为下标的元素值。p[a],这里a的值其实就是等于a[0]的地址,而a[0]的地址又是一个非常大的数,所以,p[a]也不会正确的指向任何一个元素值,故选项b也是错误的;
C,先看p+2,代表指针p后面偏移两个整形数储存空间以后的地址,所以p+2代表的是a[0]偏移2以后(是a2)的地址,而*是取值运算,所以*(p+2)就代表了a[2]的值,所以能正确的代表元素a[2],所以C选项是正确的。
D,p+2,前面说了p代表的是元素a[0]的地址,所以p+2的结果就是a的地址,并不代表任何一个元素的值,所以d选项也是错误的
结论:选项c是正确的。

热心网友 时间:2023-11-04 09:15

C。
int a[5],*p=a; 等价于 int a[5];int*p=a;
a和p都是地址,所以AB访问数组越界,D是a[2]的地址。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
路由器怎么进192.168.2.1? 2016年二套房最新优惠政策 ps如何快速抠图复杂背景ps如何快速抠图 天龙八部,什么是超级双线 天龙八部手游 天龙八部各区装备评分排行榜有哪些? 天龙八部,那个老区人最多,我想和朋友一起回老区, 中专英语专业可以考什么证 原神3.4新怪物汇总 原神4.3深渊怪物都有哪些-原神4.3深渊怪物时间线介绍 原神3.4新增怪物有哪些 原神3.4新怪物汇总介绍 碟美洗碗机好不好,评测? 《腾讯视频》开通vip会员的方法介绍 昨天在寒山寺请了一串佛珠,当晚睡觉梦见鬼,并摘我佛珠,我与他抗衡 做梦梦见有两个鬼来抓我,我用佛珠挡了 桂花的栽培方法是什么 桂花养殖技术详解 《微博》关注分组删除方法 孩子手脚经常出冷汗是怎么回事 梦见自己带着女儿在逃 《微博》分组删除方法 医务常识简笔画 甜瓜栽培技术详解 传奇怎么添加一个职业脚本 我们用什么图片表示公平公正民主自由 传奇脚本怎么加勾选 社会主义价值观简笔画? 梦见抱着孩子躲避危险 长帝烤箱鸡翅需用多少温度和时间 梦见带著儿子从躲避追逐 吸烟对人体造成伤害 嘴唇被海蜇蛰了怎么样能快速消肿 c语言指针部分题型 c语言指针数组题 因为1不是质数,所以1和2不互质。 对不对 1和2是互质的吗? 重阳菊花酒简笔画 干煸苦瓜的制作方法 时间表怎么做 小学生 58同城招聘方的电话号码怎么是虚拟号 为什么58上面招聘电话就是假的 在58问城拨打电话是显示原电话号码还是虚拟电话号码 新买的光电鼠标往桌子上一放不动它指针自己却动是怎么回事>? 长杠豆怎么烧才好吃 目前世界上最大的火车站在哪里 围巾emoji不同颜色 mate20x和mate30哪个续航好 想网申交行的信用卡请问怎么操作 华为mate7有没有otg功能 华为mate7 标配版支持otg吗? 《华为手机》抬起唤醒设置教程 administrator数值设置成1,重启后界面出现guest按什么都不反应,怎么处理?
  • 焦点

最新推荐

猜你喜欢

热门推荐