若有定义:int *p,a=4;p=a;则以下均代表地址的是()A、a,pB、a,pC、a,*pD、a,*p

题目

若有定义:int *p,a=4;p=&a;则以下均代表地址的是()

  • A、a,p
  • B、&a,p
  • C、&a,*p
  • D、a,*p
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

与以下定义等价的是 ( ) int * p [4]

A.int p [4]

B.int * p

C.int *(p[4]).

D.int( * p)[4]


正确答案:C

第2题:

若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。

A.a, p, &*a

B.*&a, &a, *p

C.&a, p, &*p

D.*&p, *p, &a"


参考答案C

第3题:

若有语句int *p, a=10 p=&a 下面均代表地址的一组选项是()。

A.a, p, *&a

B.&*a, &a, *p

C.*&p, *p,&a

D.&a, &*p, p


答案:D

第4题:

若有以下定义和语句: int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是______。

A.p+=2,*(p++)

B.p+=2,*++p

C.p+=3,*p++

D.p+=2,++*p


正确答案:A
解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式:(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

第5题:

若定义了以下函数: void f(……) { …… *p=(double *)malloc(10 * sizeof(double)); …… } p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是( )

A.double *p

B.float **p

C.double **p

D.float *p


正确答案:C

第6题:

若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB

若有定义int a[9],+P=a;,则P+5表示( )。

A.数组元素a[5]的值

B.数组元素a[5]的地址

C.数组元素a[6]的地址

D.数组元素a[0]的值加上5


正确答案:B
本题考查了通过指针来引用一维数组元素的方法。题中*P=a;这一赋值语句是指针P指向了数组a的首地址,P+5是指针P向后移动了5个int类型的存储单元,所以P+5指向了数组元素a[5]。

第7题:

要使语句“p=new int[10][20]”正确,p应事先定义为

A: int*p

B: int**p

C: int*p[20]

D: int(*p)[20]


正确答案: D

第8题:

若有以下定义,则对a数组元素地址的正确引用是( )。 int a[5],*p=a;

A.p+5

B.*a+1

C.&a+1

D.&a[0]


正确答案:D

第9题:

若有以下定义和语句,则对a数组元素地址的正确引用为 int a[2][3],(*p)[3]; p=a;

A.*(p+2)

B.p[2]

C.p[1]+1

D.(p+1)+2


正确答案:C
解析:本题考查了通过行指针来引用二维数组元素的方法。选项C中p[1]指向了数组a的第二行,p[1]+1则指向了第二行的第二个数据元素,其他几个选项都不正确。

第10题:

若有以下定义和语句; int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;

A.p+=2,*(p++)

B.p+=2,*++p

C.p+=3,*p++

D.p+=2,++*p


正确答案:A
解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式;(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

更多相关问题