若定义int a[5],*p=a;则正确引用数组元素的是 A*&a[5] B*a+2 C*(p...
若定义int a[5],*p=a;则A选项中,*&a[5],&a[5]是a[5]的地址,&a[5]是a[5]本身 但数列中没有a[5]这个元素,错误。与&为逆运算 B选项中*a+2 a为a[0]则*a+2为a[0]+2,不是a[2],错误 C选项中*(p+5)p+5=a+5为a[5]的地址 (p+5)为a[5],如同A中,数列中没...
...a数组元素地址的正确引用是( )。 int a[5],*p=a;
【答案】:D 本题考查数组元素的地址的引用。A 中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a [0]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从0开始);B中,*a+1指的是将数组a的第一个元素加1;选项C中,不存在这种引用方式;D中,&a[0]引用的是数组...
有定义:int a[5], *p=a;,数组a的首地址为100,则p+2等于( )。 A) 1...
看答案这个int类型是双字节的,p+2的意思就是指向a[2] 的地址,&a[0] = 100 , &a[1] = 102 &a[2] = 104 答案选C 如果是四个字节的int型 &a[0] = 100 , &a[1] = 104 &a[2] = 108 \/\/这个不符合答案选项
若有定义:int a[5], *p=a;则不能正确表示数组元素a[i]的是 A.*(a+i...
不能正确表示数组元素a[i]的是D。D把元素值作为地址取其中内容了。
若有定义语句int a[5], *p=a;,则对a数组元素的正确引用是什么 A *&...
正确答案是:D &a[5]就是a[5],下标越界了 a就是a[0],a[0]+2不是对数组元素的正确引用 同理,*(p+5)就是a[5],下标越界了 而* (a+2)就是a[2]
若已定义:int a[5],*p=a; 无法引用数组元素a[3]的是( )。 A、*p+3...
A无法引用a[3],所以选A——因为*p是第一个元素的值即a[0],所以*p+3是a[0]+3而不是a[3]。其余B:p[3]肯定是a[3]没错;C:*(p+3)把p换成a就是*(a+3),这和a[3]等价;D:&p[0]就是p,参照C选项一模一样了!
数组问题 int a[5],*p;p=a;p=&a[0];p=&a;都是什么含义
int a[5];\/\/a是指针常量,表示的是数组首元素的地址,即a=&a[0]。int *p=a;p=&a[0];\/\/因为a=a[0],所以p=a 和p=&a[0]是等价的。p=&a\/\/int *p,p是一个指向int类型的指针,而&a表示的是指向整个数组的指针(取一个数组名得地址所产生的是一个指向数组的指针)。p是int类型的...
C语言int a[5],*p; p=a;和p=&a;的对错问题~希望详细点,谢谢啦_百度知 ...
对于int a[5],*p;p=a; 或p=&a[0]是正确的 p=&a严格来说是错误的 首先要搞清楚a与&a的区别:a表示数组首元素的首地址,即元素a[0]的地址;&a表示整个数组的地址。二者的值是相同的,但意义并不一样。正如成都市政府与四川省政府的地址都在成都,但二者表示的含义不同。如下图所示,a...
C语言 int 是a[5],*p;定义后,p=a[2]+2为什么不合法
对于int a[5],*p;p=a; 或p=&a[0]是正确的 p=&a严格来说是错误的 首先要搞清楚a与&a的区别:a表示数组首元素的首地址,即元素a[0]的地址;&a表示整个数组的地址。二者的值是相同的,但意义并不一样。正如成都市政府与四川省政府的地址都在成都,但二者表示的含义不同。如下图所示,a...
int a[5]={1,2,3},*p=a;则*(p+1)的值是2 求解释
int a[5]={1,2,3}数组在内存中申请了五个连续的地址,假设是五个方框吧□□□,依次存放了1,2,3,0,0;p=a;定义了一个指针,指向a数组的首地址,也就是第一个方框,p+1,就是指向第二个方框。*(p+1)就是取p+1个方框内的数据,据上面分析,我们可知它是2....