17、若有定义“int *p[5];”,则以下叙述中正确的是A.定义了一个指针数组p,该数组含有5个元素,每个元素都是基类型为int的指针变量B.定义了一个基类型为int的指针变量p,该变量有5个指针C.定义了一个名为*p的整型数组,该数组含有5个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有5个int类型元素

题目

17、若有定义“int *p[5];”,则以下叙述中正确的是

A.定义了一个指针数组p,该数组含有5个元素,每个元素都是基类型为int的指针变量

B.定义了一个基类型为int的指针变量p,该变量有5个指针

C.定义了一个名为*p的整型数组,该数组含有5个int类型元素

D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有5个int类型元素


相似考题
更多“17、若有定义“int *p[5];”,则以下叙述中正确的是”相关问题
  • 第1题:

    若有以下定义和语句,则对a数组元素地址的正确引用为 int a[2][3],(*p)[3]; p=a;

    A.*(p+2)

    B.p[2]

    C.p[1]+1

    D.(p+1)+2


    正确答案:C
    解析:本题考查了通过行指针来引用二维数组元素的方法。选项C中p[1]指向了数组a的第二行,p[1]+1则指向了第二行的第二个数据元素,其他几个选项都不正确。

  • 第2题:

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

    若有以下定义,则对a数组元素地址的正确引用是( )。

    int a[5],*p=a;

    A)p 5

    B)*a 1

    C)&a 1

    D)&a[0]


    正确答案:D
    本题考查如何引用数组元素的地址。选项A)中,p 5引用的是af51的地址,而数组a只有5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误;选项B)中,*a 1指的是将数组a的第一个元素加1;选项C)中,这种引用方式错误;选项D)中,&a[0]引用的是数组的首地址。

  • 第3题:

    若有以下说明和定义: typedef int *INTEGER; INTEGER p,*q; 以下叙述正确的是( )。

    A.p是整型变量

    B.p是基类型为整型的指针变量

    C.q是基类型为整型的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:本题中INTEGER被定义为int*的别名,故直接由它定义的类型基类型为整型的指针变量。因此,p是基类型为int的指针变量,q是int型指针的指针变量。故4个选项中B正确。

  • 第4题:

    若有下列定义,则对a数组元素地址的正确引用是( )。 int a[5],*p=a;

    A.p+5

    B.*a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    解析: 本题考查如何引用数组元素的地址。在选项A)中,p+5引用的是a[5]的地址,而数组a只有 5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误;在选项B)中,*a+1指的是将数组a的第一个元素加1;在选项C)中,这种引用方式错误;在选项D)中,&a[0]引用的是数组的首地址。

  • 第5题:

    若有以下定义,则对数组元素的正确引用是( )。 int a[5],*p=a;

    A.*&a[5]

    B.(*A)2

    C.*p+4

    D.(a+2)


    正确答案:D

  • 第6题:

    若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;

    A.p+5

    B.a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    解析:本题考查如何引用数组元素的地址。
      选项A)中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a[0]、a[1],a[2]、a[3]、a[4],所以引用错误;选项B)中,*a+1指的是将数组a的第一个元素加1;选项C)中,这种引用方式错误;选项D)中,&a[0]引用的是数组的首地址。

  • 第7题:

    若有下列定义,则对a数组无素地址的正确引用是( )。 int a[5],*p=a;

    A.p+5

    B.*a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    解析:本题考查如何引用数组元素的地址。选项A)中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误;选项B)中,*a+1指的是将数组a的第一个元素加1;选项C)中,这种引用方式错误;选项D)中,&a[0]引用的是数组的首地址。

  • 第8题:

    若有以下的定义, int a[ ]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是 ______。

    A.p+=2,*(p++)

    B.p+=2,*++p

    C.p+=3,*p++

    D.p+=2,++*p


    正确答案:A

  • 第9题:

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


    正确答案:4

  • 第10题:

    若有如下定义:  struct sk{      int a;  int b;  }data,*p=&data;  则对data中的成员x的正确引用的是()。 

    • A、(*p).a
    • B、(*p).data.a
    • C、p->data.a
    • D、p.data.a

    正确答案:A

  • 第11题:

    若有定义int a[2][3],*p=a;则以下不能表示数组元素a[1][2]的是()

    • A、*(a[1]+2)
    • B、*(p[1]+2)
    • C、p[5]
    • D、*(p+5)

    正确答案:B

  • 第12题:

    若有以下说明和定义:typedefint*INTEGER INTEGERp,*q;以下叙述正确的是()

    • A、p是int型变量
    • B、p是基类型为int的指针变量
    • C、q是基类型为int的指针变量
    • D、程序中可用INTEGER代替int类型名

    正确答案:B

  • 第13题:

    若有以下定义,则对a数组元素的正确引用是( )。

    int a[5],*p=a;

    A)*&a[5]

    B)*a 1

    C)*(p 5)

    D)*(a 2)


    正确答案:D
    本题考查通过指针引用数组元素。选项A)、B),没有这种引用形式;选项c),*(p 5)是引用数组的第6个元素,而数组一共有5个元素,出现越界;选项D),*(a 2)引用数组的第3个元素。

  • 第14题:

    若有以下说明和定义 typedef int*INTEGER; INTEGER p,*q; 以下叙述正确的是

    A.p是int型变量

    B.p是基类型为int的指针变量

    C.q是基类型为int的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:INTEGER是类型名,由它来间接定义P和*q的类型,因此,p是基类型为int的指针变量,q是二级指针变量,它指向基类型是int的指针变量。

  • 第15题:

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a;

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。

    A.p=a;

    B.p[0]=a;

    C.p[o]=&a[1][2];

    D.p[1]=&a;


    正确答案:B
    选项B表示把整型数组a[o]的指针赋给p[0]。

  • 第16题:

    若有定义int a[5],*p=a;则正确引用数组元素的是( )。

    A.*&a[5]

    B.*a+2

    C.*(p+5)

    D.*(a+2)


    正确答案:D

  • 第17题:

    设有定义:struct sk {int a;float b;} data,* p; 若有p=& data;,则对data中的a域的正确引用是 ( )

    A.(* p).data.a

    B.(* p).a

    C.p->data.a

    D.p.data.a


    正确答案:B

  • 第18题:

    若有以下说明和定义

    typedef int*INTEGER:

    INTEGER P,*q;

    以下叙述正确的是


    正确答案:B

  • 第19题:

    若有以下说明和定义 typedefint * INTEGER; INTEGER p,* q; 以下叙述正确的是

    A.p是int型变量

    B.p是基类型为int的指针变量

    C.q是基类型为int的指针变量

    D.程序中可用INTEGER代替int类型名


    正确答案:B
    解析:语句typedef int * INTEGER;定义了一个新类型名INTEGER,因此语句INTEGERp,* q;就相当于int * p,* * q;。

  • 第20题:

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

    若有下列定义,则对a数组元素地址的正确引用是( )。

    int a[5],*p=a;

    A.p+5

    B.*a+1

    C.&a+1

    D.&a[0]


    正确答案:D
    本题考查数组元素的地址的引用。A中,p+5引用的是a[5]的地址,而数组a只有5个元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从0开始);B中,*a+1指的是将数组a的第一个元素加1;选项C中,不存在这种引用方式;D中,&a[0]引用的是数组的首地址。

  • 第21题:

    若有定义:int a[2][3],*p[3]; ,则以下语句中,正确的是()。

    • A、p[0]=&a[1][2];
    • B、p=a;
    • C、p[0]=a;
    • D、p[1]=&a;

    正确答案:A

  • 第22题:

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

    • A、a,p
    • B、&a,p
    • C、&a,*p
    • D、a,*p

    正确答案:B

  • 第23题:

    若有定义:int a[10],*p; 则*(p+5)表示()。

    • A、元素a[5]的值
    • B、元素a[5]的地址
    • C、元素a[6]的值
    • D、元素a[6]的地址

    正确答案:A

  • 第24题:

    单选题
    若有如下定义:  struct sk{      int a;  int b;  }data,*p=&data;  则对data中的成员x的正确引用的是()。
    A

    (*p).a

    B

    (*p).data.a

    C

    p->data.a

    D

    p.data.a


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