C语言中double a【10】,*s=a 那么可以代替a【3】的为什么是*(s+3)
答案:3 悬赏:80 手机版
解决时间 2021-01-14 23:53
- 提问者网友:留有余香
- 2021-01-14 10:31
C语言中double a【10】,*s=a 那么可以代替a【3】的为什么是*(s+3)
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-01-14 11:15
s为指针,并指向数组首地址,s+3是指针变量,是指向a[3]的指针,*(s+3)即为元素a[3]
全部回答
- 1楼网友:像个废品
- 2021-01-14 12:32
首先要声明 double 型的指针,double *s 。
所以指针s的类型是double型(8个字节),从而(s+3)就是在原来的内存基础上增加 3*8 个字节,即跳转到a[3]的地址。
简单来说,s+3是内存意义上的改变。
所以指针s的类型是double型(8个字节),从而(s+3)就是在原来的内存基础上增加 3*8 个字节,即跳转到a[3]的地址。
简单来说,s+3是内存意义上的改变。
- 2楼网友:西岸风
- 2021-01-14 11:20
double a【10】,*s=a ;
*s=a[0]
*(s+1)=a[1];
*(s+2)=a[2];
*(s+3)=a[3];
通过s指针来访问数组就是这样的对应关系
*s=a[0]
*(s+1)=a[1];
*(s+2)=a[2];
*(s+3)=a[3];
通过s指针来访问数组就是这样的对应关系
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯