2条回答 默认 最新
- 小白小白你好菜 2021-02-22 14:44关注
int a[5], *p中,单独a是数组首元素的地址,即a相当于&a[0],(a是常量)
p是int类型的指针变量,p可以理解成一个地址变量,你可以使p = a,那么指针p就指向数组a首元素的地址
A选项p = p+1表示,指针的值往后移,此时p指向a[1]的地址
B选项,因为a是常量,那么常量的值改变明显不合法,例如3 = 3 + 1是不合法的
C选项,p代表了一个地址,a代表了一个地址,p-a表示中间有多少个数据
D选项,常量加减肯定没问题啦,就是2+3嘛,常用法是printf("%d", *(a+2));表示输出首元素后面的第二个元素
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器