66问答网
所有问题
若定义了int a[10],i=3,*p;p=&a[5],p[-5]为什么能表示a数组元素?
如题所述
举报该问题
推荐答案 2013-05-21
p是数组指针,一开始将p指针指向了数组第6个元素a[5],那么p[-5]就是当前p指向的元素往前数五个,那么也就是a[0],也就是a数组第一个位置。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/ssnDvn2v2.html
其他回答
第1个回答 推荐于2017-12-04
p=&a[5] 也就是 p=a+5
p[-5] 也就是*(p-5) = *(a+5-5)=*a=a[0]
也就是说 p[-5] 是a[0]
本回答被网友采纳
相似回答
若定义了int
a[10],i=3,*p;p=&a[5]
;问a[i-5]能否
表示a数组
的
元素
答:
不能
。因为i -5 = -2 了, 而a[10]定义的数组其下标的范围只能够是 0 到9, 而-2 不在这个范围的。所以
a[i-5] 不能表示数组的元素
。
若有
定义
:
int
a[10],
则对
数组a元素
的正确引用是?
答:
a数组
中包含有10个元素,并为这10个元素分配内存空间。
数组元素
的一般形式为:数组名[下标]。其中的下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。例如,
a[5],a[i
+j],a[i++]都是合法的数组元素。数组元素通常也称为下标变量。总之数值在0到9之间,超过此范围则有误。
c语言全面解析十个知识点大学生谨记
答:
int a=10,*p;p是指针:也是一个变量,且是一个只能用来存放地址的变量。2.若有代码int a
=10,*p;p=&a
;当执行了上面的代码,会说”p指向了a”,其实就是p指针变量存放了a的地址”3.两个*的区别,有如下代码:
inta=10,
*p;//该处的* 说明p是一个指针变量用来存放地址p=&a;p=*p+1;//该...
关于C语言选择题,谁能帮我解决一下?
答:
第一题:A
定义了
一个指针p,指向了了数组首地址,p+5就是指向了
a[5]
第二题没有答案:
int
*q[5]是定义了一个指针
数组,
而答案里没有相同意义的定义,而第四个答案意思是定义了一个指向2维数组的指针,其中列宽为5。具体可以追问 第三题:D 同第一题理解 第四题:B sizeof是一个运算符,...
数组问题若有说明
int
a[10],
则对
a数组元素
的正确引用的是()。_百度知 ...
答:
例如,
a[5],
a[i+j],a[i++]都是合法的
数组元素
。数组元素通常也称为下标变量。总之数值在0到9之间,超过此范围则有误。include <stdio.h>
int
main(){ int
a[10]
={1,2,3,4,5,6,7,8,9,10};for(int
i=
0;i<
10;
i++)printf("a[%d]=%d\n",i,a[i]);return 0;} ...
若有
定义int
a[10],*p=a;,
则p+
5表示什么
答:
a 是个常量,不能变化,但是p是个指针变量,可以加减,p的加减与p的类型有关,如果p是个
int
则,每次加四个字节,就是int 型的长度,其它的也是相同的。char 每次加一个字节。p+5代表第六个数值的地址。即*(p+5)
=a[5];
不知道你是否明白,如果不清楚的话,加我好友,咱们共同探讨 ...
大家正在搜
若有定义int a[2][3]
若有定义int a[3][4]
若有定义语句 int a10
定义如下变量和数组 inti
若有定义int a=7
若ij已定义为int类型
static int i=0
若有定义int a
若有定义int
相关问题
若定义了int a[10],i=3,*p;p=&a[5];问...
若有定义int a[10],*p=a;,则p+5表示什么
设int a[10],*p=&a[3];,则对a[5]正确引...
若有定义 int a[3][4],b[4][3],(*p)[...
若有定义:int a[5], *p=a;则不能正确表示数组元...
若有定义int a[10],*p=a,则p+6表示( )。 ...
若已定义:int a[5],*p=a; 无法引用数组元素a[...
若有定义语句int a[5], *p=a;,则对a数组元素的...