若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()

题目
单选题
若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()
A

语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量

B

语句①和②中的*p含义相同,都表示给指针变量赋值

C

语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p

D

语句①和②的执行结果都是把变量x的地址赋给指针变量p

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请将以下程序中的函数声明语句补充完整

#include <stdio.h>

int【12】 ;

main( )

{int x,y,(*p)();

p=max;

printf(“&d\n”,&x,&y);

}

Int max(int a,int b)

{return (a>b/a:b);}


正确答案:

12max(int a,int b)

第2题:

若已有定义int x=2; int *p=&x;则*p的值为( )

A. 2

B. &x

C. *x

D. &p


正确答案:A

第3题:

设已有定义: float x; 则以下对指针变量 p 进行定义且赋初值的语句中正确的是

A)float *p=1024;

B)int *p=(float)x;

C)float p=&x;

D)float *P=&x;


正确答案:D

 

第4题:

下面的语句中错误的是

A.int a=5;int x[a] ;

B.const int a=5;int x[a] ;

C.int n=5;int * p=new int[a] ;

D.const int n=5;int * p=new int[a] ;


正确答案:A
解析:在C++中定义数组时,数组的范围参数在静态定义时必须是一个常数,而在动态分配内存定义时可以是常数,也可以是一个赋了值的参数。故选项A) 是错误的定义方法。

第5题:

若有定义:int x=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是 ______。

A.随机值

B.0

C.x的地址

D.p的地址


正确答案:B
解析:由定义*p=&x,p指向x的地址,*p=x,因此输出的是x的值。

第6题:

若已有定义int x;下列说明指针变量p指向x的正确语句是( )

A. int p=&x;

B. int *p=&x;

C. int p=x;

D. int *p=x;


正确答案:B

第7题:

若已定义x为int类型变量,说明指针变量p的正确语句是______。

A.int p=&x;

B.int*p=x;

C.int *p=&x;

D.*p=*x;


正确答案:C

第8题:

设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( )。

A.float *p=1024;

B.int *p=(float x);

C.float p=&x;

D.float *P=&x;


正确答案:D

第9题:

下面是类MyClass的定义,对定义中各种语句描述正确的是( )。

class MyClass { publiC: void MyClass(int a) //①

{ x=a; ) int func(int a,int b) //②

{ x=a; y=b; } int func(int a,int b,int c=0) //③

{ x=a; y=b; z=c; } static void resetValue() //④

{ x=0; } private: int X,y,Z; };

A.语句①是类MyClass的构造函数定义

B.语句②和语句③实现类成员函数的重载

C.语句④实现对类成员变量x的清零操作

D.语句①、②、③和④都不正确


正确答案:D
解析:类的构造函数没有返回类型,所以语句①是错误的;语句②和语句③将会使函数func()的调用产生歧义;成员函数resetValue()是静态成员函数,那么它不能访问类MyClass中的非静态数据成员,所以语句④也不正确。

第10题:

设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是( )。

A.p=x;

B.* p=x;

C.p=NULL;

D.* p=NULL;


正确答案:C
如果没有把P指向一个指定的值,*P是不能被赋值的。定义指针变量不赋初始值时默认为null。

更多相关问题