已知:int *p(); p是()。A.指向int型的指针变量B.int型的指针数组C.一个指向函数的指针变量,函数的返回值是int型D.一个函数,该函数的返回值是指向int型的指针变量

已知:int *p(); p是()。

A.指向int型的指针变量

B.int型的指针数组

C.一个指向函数的指针变量,函数的返回值是int型

D.一个函数,该函数的返回值是指向int型的指针变量


参考答案和解析
D 解析:不论p是指向什么类型的指针变量,都可以通过强制类型转换的方法使之为在型一致,强制类型转换的格式为(数据类型*)。

相关考题:

已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为()。 a. free(p);b. free p;c. free(*p);d. free[p];

已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义struct a *f(int t1,int *t2,strcut a t3,struct a *t4)struct a p,*p1;int i;则正确的函数调用语句为A.p=f(10,i,p,p1);B.p1=f(i++,(int *)p1,p,p);C.p=f(i+1,(i+2),*p,p);D.f(i+1,i,p,p);

( 20 )语句 int *p=k; 定义了指针 p ,与这个语句等效的语句序列是A ) int *p;p=k;B ) int *p;p=k;C ) int *p;*p=k;D ) int *p;*p=k

已知有如下结构体:struct sk{ int a;float b;}data,*p;若有P=data,则对data的成员a引用正确的是( )。A.(*p).data.aB.(*p).a;C.p->data.aD.p.data.a

以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是A.main( ) { int *p; fun(p); ┆ } int fun(int *p) { int s; p=s;}B.main( ) { int *p; fun(p); ┆ } int fun(int **p) { int s; *p=s;}C.#include<stdlib.h> main( ) { int *p; fun(p); ┆ } int fun(int **p) { *p=(int*)malloc(2);}D.#include<stdlib.h> main( ) { int *p; fun(p); ┆ } int fun(int *p) { p=(int*)malloc(sizeof(int));}

语句int*p=k;定义了指针p,与这个语句等效的语句序列是A.int*p;p=k;B.int*p;p=k;C.int*p;*p=k;D.int*p;*p=k;

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

已知有如下结构体:struct sk{ int a; float b; }data,*p;若有P=data,则对data的成员a引用正确的是( )。A.(*p).data.aB.(*p).a;C.p-data.aD.p.data.a

下列对变量的引用中,错误的是()。A.int a;int p=a;B.char a;char p=a;C.int a;int p=a;B.char a;char p=a;C.int a;int p;p=a;D.float a;float p=a;

在下列叙述中,正确的一条是( )A.语句int *pt中的*pt是指针变量名B.语句"int *p=a;"等价于"int *p;p=a[0];”C.运算符*和都是取变量地址的运算符D.已知指针变量p指向变量a,则a和*p值相同,都是变量a的值

已知一个运行正常的程序中有下面两个语句:int*p1,p2a;p1=b;由此可知,变量a和b的类型分别是A.int和intB.int*和intC.int和int*D.int*和int*

语句int*p=定义了指针p,与这个语句等效的语句序列是A.int*p;p=B.int*p;k=k;C.int*p;*p=k;D.int*p;*p=k;

以下程序段中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是( )。A.main() {int*p; fun(p); … } int fun(int*p) {int s; p=s; }B.main {int*p fun(p); … } iht fun(int**p) {int s; *p=s;}C.main() {int*p; fun(p); } int fun(int**p) {*p=(int*)malloc(2);}D.main() {int*p; fun(p); } int fun(int*p) {p=(int*)malloc(sizeo(int));}

已知:intn=10;那么下列语句中错误的是A.int*p=new long[n];B.int p[n];C.int*p=new long(n);D.int p[10];

已知:int n=10;那么下列语句中错误的是A.int*p=new long[n];B.int p[n];C.int*p=new long(n);D.int p[10];

下列有关指针的用法中,错误的是( )。A.int i;int *p=i;B. int i;int *p;i=*p;C. int *p;p=0;D.int i=5;int *p;p=i;

已知定义“int x = 1, *p”,则合法的赋值表达式是( )。 A、p = &xB、p = xC、*p = &xD、*p = *x

以下程序段完全正确的是( )。 A.int*P;scanf("%d",p);B.int*P;scanf("%d",p);SX 以下程序段完全正确的是( )。A.int*P;scanf("%d",p);B.int*P;scanf("%d",p);C.int k,*p=k;scanf("%d",p);D.int k,*p;*p=k;scanf("%d¨,p);

有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。 A.int p[4];B.int**P;SXB 有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。A.int p[4];B.int**P;C.int*(p[4]);D.int(*p)[4];

以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是A.main() { int *p; fun(p); … } int fun(int *p) { ints; p=s;}B.main() { int *p; fun(p); … } int fun(int **p) { int s; *p=s;)C.#include main() { int *p; fun(p); … } int fun(int **p) *p=(int*)malloc(2);}D.#include main() { iht *p; fun(p); … } iht fun(iht *p) { p=(int*)malloc(sizeof(int)); }

已知fl(int)是类A的公有成员函数,p是指向成员函数fl()的指针,采用赋值,( )是正确的。A.p=flB.P=A::flC.P=A::fl()D.P=fl()

已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为()。Afree(p);Bfree p;Cfree(*p);Dfree[p];

若有语句:int x,*p=x;则与该语句等价的语句是()A、intx,*p;*p=x;B、int x,*p;p=x;C、int x,*p;*p=x;D、int x,*p;p=x

已知int a[]={ 0,2,4,6,8,10 },*p=a+1;其值等于0的表达式是()A、*(p++)B、*(++p)C、*(p--)D、*(--p)

下面指针变量赋值错误的是()A、int*p;p=1002B、int*p,a;p=a;C、inta;int*p=a;D、int*p=1000;

已知:int**p;则变量p是()A、指向int型变量的指针、B、指向指针的指针C、int型变量D、以上三种说法均不正确

单选题已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为()。Afree(p);Bfree p;Cfree(*p);Dfree[p];

单选题已知int a[]={ 0,2,4,6,8,10 },*p=a+1;其值等于0的表达式是()A*(p++)B*(++p)C*(p--)D*(--p)