单选题若有定义 int(* pt)[3]; 则下列说法中正确的是(  )。A 定义了基类型为int的三个指针变量B 定义了基类型为int的具有三个元素的指针数组ptC 定义了一个名为 * pt、具有三个元素的整型数组D 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组

题目
单选题
若有定义 int(* pt)[3]; 则下列说法中正确的是(  )。
A

定义了基类型为int的三个指针变量

B

定义了基类型为int的具有三个元素的指针数组pt

C

定义了一个名为 * pt、具有三个元素的整型数组

D

定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组


相似考题
参考答案和解析
正确答案: A
解析:
int(*pt)[3];语句定义了一个指向一维数组的指针pt,该一维数组具有三个int型元素。D项,按照C语言中二维数组的定义知,二维数组先进行行排列,再进行列排列,故pt也可以指向每行有三个整数元素的二维数组。答案选择D选项。
更多“单选题若有定义 int(* pt)[3]; 则下列说法中正确的是(  )。A 定义了基类型为int的三个指针变量B 定义了基类型为int的具有三个元素的指针数组ptC 定义了一个名为 * pt、具有三个元素的整型数组D 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组”相关问题
  • 第1题:

    若有语句:char*line[5];,以下叙述中正确的是

    A.定义line是一个数组,每个数组元素是一个基类型为char的指针变量

    B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

    C.定义line是一个指针数组,语句中的。号称为间址运算符

    D.定义line是一个指向字符型函数的指针


    正确答案:A
    解析:C语言中[]比*优先级高,因此line先与[5]结合,形成line[5]形式,这是数组形式,它有5个元素,然后再与line前面的“*”结合,表示此数组是一个指针数组,每个数组元素都是一个基类型为char的指针变量。

  • 第2题:

    若有定义int(*pt)[3];,则下列说法不正确的是( )。

    A.int(*pt)[3]是一个数组指针

    B.指针pt指向一个有3个整型变量的数组

    C.定义了一个名为*pt、具有三个元素的整型数组

    D.定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组


    正确答案:D
    解析:首先,pt跟*结合,所以是一个指针,所指向的对象是含有3个元素的数组。所定义的指针没加const,所以是个指针变量,还可以指向类似对象的其他元素,也就是说还可以指向其他含有3个元素的数组。

  • 第3题:

    若有定义:int *p[3];则以下叙述中正确的是( )。

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

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

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

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


    正确答案:B
    解析:当一个数组中的元素均为指针类型数据时,该数组就称为指针数组。int*p[3]表示此数组是指针类型的,每个数组元素(指针变量)都是指向一个整型的指针变量。

  • 第4题:

    在int (*prt)[3];定义中,标识符prt( )。

    A.定义不合法

    B.是一个指针数组名,每个元素都是一个指向整型变量的指针

    C.是一个指针,它指向一个具有三个元素的一维数组

    D.是一个指向整型变量的指针


    正确答案:C
    解析:此题的关键是要分清指针数组与指向一维数组指针之间的不同,题中的说明语句定义了一个指针变量prt,它指向包含三个整数元素的一维数组。要注意:*prt两侧的圆括号不能缺少,如果写成*ptr[3],则ptr与[3]先结合,是数组,然后再与前面的。号结合,则*ptr[3]将是一个指针数组。

  • 第5题:

    设有定义语句int a[]={66,77,99};,则下列对此语句的叙述中错误的是 ( )

    A.定义了一个名为a的一维数组

    B.a数组有3个元素

    C.a数组的元素的下标为1-3

    D.数组中的每一个元素都是整型


    正确答案:C

  • 第6题:

    若有定义int*p[3];,则以下叙述中正确的是______。

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

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

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

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


    正确答案:B
    解析:由于运算符[]优先级比*高,int*p[3];相当于int*(p[3]);,表示数组p的三个元素都是指针变量,且每个元素都是基类型为int的指针。

  • 第7题:

    若有定义int(*pt)[3];,则下列说法正确的是

    A.定义了基类型为int的三个指针变量

    B.定义了基类型为int的具有三个元素的指针数组pt

    C.定义了一个名为*pt、具有三个元素的整型数组

    D.定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组


    正确答案:D
    解析:定义了一个指向一维数组的指针,该一维数组具有三个int型元素,按照C语言中二维数组的定义知,二维数组先按照行排列,再按照列排列,故选D。

  • 第8题:

    若有int *x[3]:则以下表述正确的是 ______。

    A.x是一个指向具有3个元素的整型数组的指针

    B.x是一个指向int型变量的指针

    C.x是一个有3个元素的指针数组,每个元素是一个int型指针

    D.x是一个数组,该数组的元素是指针x所指向的变量


    正确答案:C

  • 第9题:

    ( 27 )若有定义 int ( *Pt ) [3] ; ,则下列说法正确的是

    A )定义了基类型为 int 的三个指针变量

    B )定义了基类型为 int 的具有三个元素的指针数组 pt

    C )定义了一个名为 *pt 、具有三个元素的整型数组

    D )定义了一个名为 pt 的指针变量,它可以指向每行有三个整数元素的二维数组


    正确答案:D

  • 第10题:

    指向数组元素为整型的一维数组的指针变量的定义是()。

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

    正确答案:C

  • 第11题:

    设有定义语句int a[3],则下列对此语句的叙述中错误的是( ):

    • A、定义了一个名为a的一维数组
    • B、a数组有3个元素
    • C、a数组元素的下标为1~3
    • D、数组a中的每一个元素都是整型

    正确答案:C

  • 第12题:

    单选题
    设有定义语句int(*f)(int);,则以下叙述中正确的是(  )。
    A

    f是基类型为int的指针变量

    B

    f是指向函数的指针变量,该函数具有一个int类型的形参

    C

    f是指向int类型一维数组的指针变量

    D

    f是函数名,该函数的返回值是基类型为int类型的地址


    正确答案: D
    解析:
    在C语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这类地址,int(*f)(int);,其中f为指向函数的指针变量,指向有一个整型变量且返回值也为整型的函数,第一个int为函数返回值的类型,第二个int为函数的形参类型。答案选择B选项。

  • 第13题:

    设有定义语句int k[]=new int[3];,则下列对此语句的叙述中错误的是( )。

    A.定义了一个名为k的一维数组

    B.k数组有3个元素

    C.k数组元素的下标为1~3

    D.数组k中的每一个元素都是整型


    正确答案:C
    解析:k数组元素的下标为0~2,数组的下标从0开始。

  • 第14题:

    若有定义:int (*p)[4]; 则标识符 p( ) 。

    A. 是一个指向整型变量的指针

    B. 是一个指针数组名

    C. 是一个指针,它指向一个含有四个整型元素的一维数组

    D. 定义不合法


    正确答案:C

  • 第15题:

    若有定义"int*p[3];",则以下叙述中下确的是

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

    B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类犁为int的指针

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

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


    正确答案:B
    解析:本题考核的知识点是指针数组的定义。指针数组也是一种数组,所有有关的概念都适用于它。但它与普通的数组又有区别,它的数组元素是指针类型,只能用来存放地址。其格式为:存储类型数据类型*指针数组名[长度1],其含义为:定义了一个长度1的数组,其中数组元素为相应存储类型的指针,对比定义可知,选项A、c和D都不正确,所以,4个选项中选项B符合题意。

  • 第16题:

    若有定义:iht*p[3];,则以下叙述中正确的是

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

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

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

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


    正确答案:B
    解析:指针数组也是一种数组,所有有关的概念都适用于它。但它与普通的数组又有区别,它的数组元素是指针类型,只能用来存放地址。其格式为:存储类型数据类型*指针数组名[长度1],其含义为:定义了一个长度1的数组,其中数组元素为相应存储类型的指针。

  • 第17题:

    设有定义语句int(*f(int);,则下列叙述正确的是( )。

    A.f是基类型为int的指针变量

    B.f是指向函数的指针变量,该函数具有一个int类型的形态

    C.f是指向int类型一维数组的指针变量

    D.f是函数名,该函数的返回值是其类型为int类型的地址


    正确答案:B
    解析:定义语句int(*f(int)中f是指向函数的指针变量,该函数中也只有一个int型的形参。

  • 第18题:

    下列说法不正确的足( )。

    A.int*ptr;//指针指向整形数据

    B.char*ptr;//指针的类型是字符型指针

    C.int**ptr;//指针的类型是双重指针

    D.int(*ptr)[3];//是一一个指针数组,数组共有三个元素,而三个元素是int型指针


    正确答案:D
    解析:int(*ptr)[3]是一个数组指针,指针指向一个有3个int型变量的数组。

  • 第19题:

    若有定义int * p[3]:,则以下叙述中正确的是 ______。

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

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

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

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


    正确答案:B
    解析:由于运算符[]优先级比*高,int*p[3];相当于int*(p[3]);,表示数组p的三个元素都是指针变量,且每个元素都是基类型为int的指针。

  • 第20题:

    若有int(*p)[3]:则以下表述中正确的是 ______。

    A.p是一个指向具有3个元素的整型数组的指针

    B.p是一个指向int型变量的指针

    C.p是一个有3个元素的指针数组,每个元素是一个int型指针

    D.p是一个具有3个int型元素的一维数组


    正确答案:A

  • 第21题:

    若有定义int(*pt)[3];,则下列说法不正确的是( )。

    A)int(*pt)[3]是一个数组指针

    B)指针pt指向一个有3个整型变量的数组

    C)定义了一一个名为*pt、具有三个元素的整型数组

    D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组


    正确答案:D

  • 第22题:

    若有语句:charline[5];,以下叙述中正确的是()

    • A、定义line是一个数组,每个数组元素是一个基类型为char的变量
    • B、定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组
    • C、定义line是一个指针数组,语句中的*号称为间址运算符
    • D、定义line是一个指向字符型函数的指针

    正确答案:A

  • 第23题:

    单选题
    设有定义语句int a[3],则下列对此语句的叙述中错误的是( ):
    A

    定义了一个名为a的一维数组

    B

    a数组有3个元素

    C

    a数组元素的下标为1~3

    D

    数组a中的每一个元素都是整型


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