itgle.com
更多“如定义 int *p[10];, 则标识符p是()。”相关问题
  • 第1题:

    已有定义:int i,a[10],*p;,则合法的赋值语句是

    A.p=100;

    B.p=a[5];

    C.p=a[2]+2;

    D.p=a+2;


    正确答案:D
    解析:本题中定义了一个整型数组a和一个整型指针变量p。选项A中将一个整型数赋值给一个指针变量,C语言规定,只能将地址赋给指针指针变量;选项B中a [5]为一数组元素,同样不是一个地址;选项C中a[2]为一数组元素,同样是一个整型数据,不是个地址;选项D中数组名a代表数组首地址加2,代表第三个元素的地址。

  • 第2题:

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

    A: int*p

    B: int**p

    C: int*p[20]

    D: int(*p)[20]


    正确答案: D

  • 第3题:

    若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确语句是( )

    A.p=2 *(int *)malloc(sizeof(int));

    B.p=(int*)calloc(2*sizeof(int));

    C.p=(int*)malloc(2* sizeof(int));

    D.p=2 *(int*)calloc(sizeof(int));


    正确答案:C

  • 第4题:

    若有如下定义,则__________是对数组元素的正确的引用。. int a[10] , *p ; p=a ;

    A.*&a[10]

    B.a[11]

    C.*(p+11)

    D.*p *p *p


    正确答案:D

  • 第5题:

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

    A、p = &x

    B、p = x

    C、*p = &x

    D、*p = *x


    参考答案A

  • 第6题:

    有定义语句:“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];


    正确答案:D
    本题int*p[4]的作用是声明一个指针数组,每个元素都是int*型指针。

  • 第7题:

    若指针p已正确定义,要使p指向两个连续的整型动态存储单元,则正确的语句是( )。

    A.p=2*(int*)malloc (sixeof(int))

    B.p=(int*)calloc (2*sixeof(int))

    C.p=(int*)malloc (2*sizeof(int))

    D.p=2*(int*)calloc (sizeof(int))


    正确答案:C
    解析:malloc函数的调用形式:malloc(size)。malloc函数用来分配size个字节的存储区,返回一个指向存储区首地址基类型为void的地址,可以利用强制类型转换将其换成所需的类型,这里需转换为整型(int*)。若不能确定数据类型所占的字节数,可使用sizeof运算符来求得,这里要求两个连续的整型动态存储单元即2*sizeof(int)。4个选项中只有C符合题意。

  • 第8题:

    要使语句“p=newint[10][20]”能够正常执行,p应被事先定义为( )。

    A.int*p

    B.int**p

    C.int*p[20]

    D.int(*p)[20]


    正确答案:D

  • 第9题:

    设有C语句int a[3][4];, 则每次移动过a数组一行元素的指针变量定义形式是()

    • A、int *p;
    • B、int **p;
    • C、int(*p)[4];
    • D、int *p[4];

    正确答案:C

  • 第10题:

    假定变量m定义为“intm=7;”,则定义变量p的正确语句为()。

    • A、intp=&m
    • B、int*p=&m
    • C、int&p=*m
    • D、int*p=m

    正确答案:B

  • 第11题:

    若有定义:int a[10],*p=a;则表示数组元素a[3]的错误选项是()。

    • A、*(a+=3)
    • B、*(p+=3)
    • C、*(a+3)
    • D、p[3]

    正确答案:A

  • 第12题:

    有语句:inta[10],;则()是对指针变量p的正确定义和初始化。

    • A、intp=*a;
    • B、int*p=a;
    • C、intp=&a;
    • D、int*p=&a;

    正确答案:B

  • 第13题:

    下列定义中,( )是定义指向数组的指针p.

    A、int*p[5]

    B、int(*p)[5]

    C、(int*)p[5]

    D、int*p[]


    参考答案:B

  • 第14题:

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

    A. 2

    B. &x

    C. *x

    D. &p


    正确答案:A

  • 第15题:

    若有定义和语句:

    int**pp,*p,a=20,b=10;

    pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);

    则输出结果是( )。

    A.20,10

    B.20,20

    C.10,20

    D.10,10


    正确答案:D
    解析:本题考查指针变量的赋值。**pp是定义了一个指向指针的指针变量,语句pp=&p是将pp指向指针p,*p和**pp都是指针p所指的内存空间的内容,即b的值。

  • 第16题:

    若有定义和语句: ( ) int * * pp, * p,a=10,b=20 pp=&p;p=&a;p=&b;printf("%d,%d”n",* p,* * pp); 则输出结果是

    A.10, 10

    B.10,20

    C.20,10

    D.20,20


    正确答案:D

  • 第17题:

    设有定义语句“int x=10, *p=&x”,则表达式的值为10的有( )。

    A、p

    B、*p

    C、*&x

    D、*p=x

    E、x=*p


    参考答案BCDE

  • 第18题:

    设有定义语句“int a=10,*p=&a;”,则表达式“a十*p”的值是( )

    A.10

    B.20

    C.100

    D.语法出错


    正确答案:B
    在数据定义语句中的“*p=&a”,表示指针变量p已经指向变量a,所以表达式中的“*p”就是变量a,“a+*p”就是“a+a”,所以该表达式的值为20。本题答案应选B。

  • 第19题:

    假定变量m定义为int m=7;则定义变量p的正确语句为( )。

    A.int p=&m;

    B.int *p=&m;

    C.int &p=*m;

    D.int *p=m;


    正确答案:B
    解析:将变量m的地址赋给指针p。

  • 第20题:

    若有定义:int a[ ]={2,4,6,8,10,12},*p=a; ;则*(p+1)的值是()


    正确答案:4

  • 第21题:

    定义指针变量int*p;则下列说法正确的是()

    • A、*p是指针常量
    • B、*p是一个地址
    • C、*p是指针变量
    • D、指针指向int型数据

    正确答案:C,D

  • 第22题:

    要使语句“p=newint[10][20];”正确,p应事先定义为()。

    • A、int*p
    • B、int**p
    • C、int*p[20]
    • D、int(*p)[20]

    正确答案:D

  • 第23题:

    若已定义a为int型变量,则对指针p的说明和初始化正确的是()。

    • A、int *p=a
    • B、int p=a
    • C、int *p=*a
    • D、int *p=&a

    正确答案:D

  • 第24题:

    填空题
    若有定义:int a[ ]={2,4,6,8,10,12},*p=a; ;则*(p+1)的值是()

    正确答案: 4
    解析: 暂无解析