要定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是()A、int(*a)[3]B、int*a[2]C、int*a[3]D、以上写法都不对

题目
要定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是()

A、int(*a)[3]

B、int*a[2]

C、int*a[3]

D、以上写法都不对


相似考题
更多“要定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是() ”相关问题
  • 第1题:

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

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

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

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

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


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

  • 第2题:

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

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

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

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

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


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

  • 第3题:

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

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

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

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

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


    A 解析:由于运算符[]优先级比*高,所以“char*line[5];”相当于“char*(line[5];”,表示line是一个数组,每个数组元素是一个基类型为char的指针变量。

  • 第4题:

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

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

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

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

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


    正确答案:A
    解析:理解复杂定义要掌握两点:一、右结合原则.本题中的定义char*line[5];等价于char*(line[5]);;二、自外向内分解成typedef语句。char*(line[5]);等价于typedefchar*A;Aline[5];其中A被typedef定义成字符指针的别名,然后line被定义成A的一维数组,即字符指针的一维数组。再来看看行指针的定义char(*line)[5];它应该被分解成typedefcharB[5];B*line;其中B被定义成包含5个元素的一维字符数组,然后line被定义成指向B的指针,即指向包含5个元素的一维字符数组的指针。所以两者切不可混淆了,后者的括号不能省略。故本题应该选择A。

  • 第5题:

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

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

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

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

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


    A 解析:由于运算符[]优先级比*高,所以“char*line[5];”相当于“char*(line[5];”,表示line是一个数组,每个数组元素是一个基类型为char的指针变量。