Achar *p=s;
Bchar *p=&s;
Cchar *p;p=*s;
Dchar *p; p=&s;
第1题:
若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。
①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。
②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。
第2题:
若有定义“floata=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为( )。
A.两个语句都是将变量a的值赋予变量p
B.*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针p
C.*p=a是将变量a的值赋予变量b,而&;a是使P指向变量a
D.两个语句都是使p指向变量a
第3题:
语句Char(*P)说明了( )。
A.P是指向函数的指针,该函数返回一个Char型数据
B.P是指向Char型数据的指针变量
C.P是指向数组的指针变量
D.P是一个函数名,该函数的返回值是指向Char型数据的指针
第4题:
若有下面的程序段: chars[]="china";char *p;p=s;则下列叙述正确的是( )。
A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相等
C.数组s的长度和p所指向的字符串长度相等
D.*p与s[0]相等
第5题:
变量s已定义为"char *s="Heoll world!";",要使变量p指向s所指向的同一个字符串,则应定义为()。
Achar *p=s;
Bchar *p=&s;
Cchar *p;p=*s;
Dchar *p;p=&s;
第6题:
变量v定义为“double v=23.4;”,要使指针pv指向v,则定义pv的语句为()。
第7题:
若变量已正确定义并且指针p已经指向变量x,则&*p相当于()
第8题:
设char*s="/tabc/017/’/n";则指针变量s指向的字符串所占的字节数是()
第9题:
char *p=s;
char *p=&s;
char *p;p=*s;
char *p; p=&s;
第10题:
第11题:
deletep;
delete*p;
delete&p;
delete[]p;
第12题:
char *p=s;
char *p=&s;
char *p;p=*s;
char *p;p=&s;
第13题:
在下列叙述中,错误的一条是______。
A.定义char*string="China"中的string是一个字符串变量,其值为China
B.若有一个多维数组a,则*(a+i)与a[i]等价
C.int(*p)[4]表示p为指针变量,它指向包含4个元素的一维数组
D.数组名代表数组的首地址,固定不变。指针变量可通过指向数组首地址来代表对应的数组,但其值可以改变
第14题:
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是( )。 struct node { char data; struct node *next; }a,b, *p=&a,*q=&b;
A.a.next=q;
B.p.next=&b;
C.p->next=&b
D.(*p).next=q;
第15题:
变量s的定义为“char *s="Hello world!";”,要使变量p指向s所指向的同一个字符串,则应选取(47)。
A.char *p=s;
B.char *p=&s;
C.char *p;p=*s;
D.char *p; p=&s;
第16题:
假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。
Afree(p)
Bdelete(p)
Cfree(*p)
Dfree(&p)
第17题:
已知变量a定义为“i nt a=5;”,要使ra成为a的引用,则ra应定义为(),要使rb指向a,则rb应定义为()
第18题:
const char *p说明了p是指向字符串常量的指针。
第19题:
若变量已正确定义并且指针p已经指向变量x,则&x相当于()
第20题:
若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于()
第21题:
9
8
7
6
第22题:
语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量
语句①和②中的*p含义相同,都表示给指针变量赋值
语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p
语句①和②的执行结果都是把变量x的地址赋给指针变量p
第23题:
free(p)
delete(p)
free(*p)
free(&p)