下列定义中p指向的地址可更改,但*p不能够更改的是A.const int *p;B.int * const p;C.const int *const p;D.int *p;

下列定义中p指向的地址可更改,但*p不能够更改的是

A.const int *p;
B.int * const p;
C.const int *const p;
D.int *p;

参考解析

解析:const int *p;是只能改变指针地址,int * const p;是只能改变*p的内容,const int *const p;是指针的地址和*p的内容都不能改变,int *p;是两者都能改变。

相关考题:

若有定义float a=25,b,*p=b;,则下列对赋值语句*p=a;和p=a;的正确解释为( )。A.两个语句都是将变量a的值赋予变量pB.*p=a是使p指向变量a,而p=a是将变量a的值赋予变量指针pC.*p=a是将变量a的值赋予变量b,而p=a是使p指向变量aD.两个语句都是使p指向变量a

下列定义中,Sample是一个类,( )是定义指向对象数组的指针p.A.Sample*P [5]B.Sample (*p) [5]C.(Sample*) P[5]D.Sample *P[]

若有定义float a[15],*p=a;,且数组a的首地址为300H,则p+13所指向的数组元素的地址为( )。A.334HB.30DHC.352HD.31AH

下列定义中,( )是定义指向数组的指针p. A、int*p[5]B、int(*p)[5]C、(int*)p[5]D、int*p[]

已知函数原型"double fun();",要定义一个函数指针变量p指向该函数的首地址,则其定义语句为"double (*p)()=fun;"。() 此题为判断题(对,错)。

下列定义中P指向的地址可更改,但*P不能够更改的是( )。A.constint*P;B.int*constP;C.constint*constP;D.int*P;

已有定义int(*p)();,指针p可以______。A.代表函数的返回值B.指向函数的入口地址C.代表函数的类型D.代表函数返回值的类型

设有如下定义: struct sk { int a;float b; } data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。A.p=a;B.p=data.a;C.p=data.a;D.p=a;

若已有定义int x;下列说明指针变量p指向x的正确语句是( )A. int p=B. int *p=C. int p=x;D. int *p=x;

以下程序段有错,错误原因是______。 main() { int *p,i;char *q,ch; p=i;q=ch;*p=40;*p=*q; }A.p和q的类型不一致,不能执行*p=*q;语句B.*p中存放的是地址值,因此不能执行*p=40;语句C.q没有指向具体的存储单元,所以*q没有实际意义D.q虽指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句

下列定义中p指向的地址可更改,但*p不能够更改的是A.const int * p;B.int * const p;C.const int * const p;D.int *p;

在下列叙述中,错误的一条是______。A.定义char*string="China"中的string是一个字符串变量,其值为ChinaB.若有一个多维数组a,则*(a+i)与a[i]等价C.int(*p)[4]表示p为指针变量,它指向包含4个元素的一维数组D.数组名代表数组的首地址,固定不变。指针变量可通过指向数组首地址来代表对应的数组,但其值可以改变

int(*p)[6];,当有定义int a[4][6],并让p指向它的语句是【 】。

以下程序有错,错误的原因是main(){ int *p,i;char *q,ch; p=i; q=ch; *p=40; *p=*q; ......}A.p和q的类型不一致,不能执行*p=*q;语句B.*p中存放的是地址值,因此不能执行*p=40;语句C.q没有指向具体的存储单元,所以*q没有实际意义D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果

若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为( )。A.两个语句都是将变量a的值赋予变量pB.*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针pC.*p=a是将变量a的值赋予变量b,而&a是使P指向变量aD.两个语句都是使p指向变量a

若有定义语句:double a,*P=&a;以下叙述中错误的是( )。A.定义语句中的*号是-个间址运算符B.定义语句中的木号是-个说明符C.定义语句中的P只能存放double类型变量的地址D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P

执行完下列语句int a,b,c=a;int*p=c;p=b;后c指向A.aB.bC.cD.无效地址

若有int a[10],*p=a;,则( )。 A、p++可以使p指向下一个字节B、p+=2 相当于p=sizeof(a)/10C、p++可以使p指向下一个元素,即a[1]的首地址D、p+=2可以使p指向下一个元素,即a[1]的首地址

若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5 B.*a+1 若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;A.p+5B.*a+1C.&a+1D.&a[0]

假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。Achar *p=s;Bchar *p=s;Cchar *p;p=*s;Dchar *p; p=s;

变量s已定义为"char *s="Heoll world!";",要使变量p指向s所指向的同一个字符串,则应定义为()。Achar *p=s;Bchar *p=s;Cchar *p;p=*s;Dchar *p;p=s;

设有定义:int x,*p;,能使指针变量p指向变量x的语句是()A、*p=x;B、p=x;C、*p=x;D、p=*x;

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

定义指针变量int*p;则下列说法正确的是()A、*p是指针常量B、*p是一个地址C、*p是指针变量D、指针指向int型数据

单选题假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。Achar *p=s;Bchar *p=s;Cchar *p;p=*s;Dchar *p; p=s;

单选题若有以下定义,说法错误的是(  )。int a=100,*p=a;A声明变量p,其中*表示p是一个指针变量B变量p经初始化,获得变量a的地址C变量p只可以指向一个整型变量D变量p的值为100

单选题若已定义:int x=12;对①int *p=x;和②*p=x;这两条语句的正确理解是()A语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量B语句①和②中的*p含义相同,都表示给指针变量赋值C语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量pD语句①和②的执行结果都是把变量x的地址赋给指针变量p

单选题变量s已定义为"char *s="Heoll world!";",要使变量p指向s所指向的同一个字符串,则应定义为()。Achar *p=s;Bchar *p=s;Cchar *p;p=*s;Dchar *p;p=s;