首页 > 试题广场 >

对于"int *pa[5];"的描述中,( )是正确的。

[单选题]

对于"int *pa[5];"的描述中,( )是正确的。

  • pa是一个指向数组的指针,所指向的数组是5个int型元素
  • pa是一个指向某数组中第5个元素的指针,该元素是int型变量
  • pa [5]表示某个元素的第5个元素的值
  • pa是一个具有5个元素的指针数组,每个元素是一个int型指针
从优先级的角度来看,运算符[ ]的优先级比较高,不符合从左到右的计算机顺序;
    int (*ptr)[5] : () 的优先级 > [] , 所以他ptr本质上是一个指针,所以是数组指针,指针指向的内容是一个数组,包含5个int元素。
    int *ptr[5]: 在这个表达式里, [] 优先级最高,所以本质上是一个数组,所以是指针数组,数组中存放着5个int类型的指针。
发表于 2019-09-12 16:38:30 回复(4)
分析:int(*ptr)[ ]与int*ptr[ ]的区别。
        int(*ptr)[ ]是指一个指向整形数组的指针,而    int *ptr[ ]是指指针数组,ptr[ ]里面存的是地址。它指向的位置的值就是*ptr[0]、*ptr[1]....*ptr[3].
       可以根据*与什么先结合来记忆。    
编辑于 2017-05-25 15:27:37 回复(0)
int (*p)[4]; //定义一个数组指针,指向含4个元素的一维数组。
int *p[4]; //指针数组,表示一个一维数组内存放着4个指针变量,分别是p[0]、p[1]、p[2]、p[3]
发表于 2021-09-02 09:42:36 回复(0)
int (*p)[4]; //定义一个数组指针,指向含4个元素的一维数组。
int *p[4]; //指针数组,表示一个一维数组内存放着4个指针变量,分别是p[0]、p[1]、p[2]、p[3]
发表于 2019-05-11 15:18:41 回复(0)
(*p)[] 数组指针 本质是一个指针,*p[] 指针数组本质是一个数组。
发表于 2018-02-11 21:56:21 回复(0)

(*p)[]本质上是数组

*p[]本质上是指针

发表于 2019-03-16 20:46:17 回复(2)
从优先级的角度来看,运算符[ ]的优先级比较高,不符合从左到右的计算机顺序;
    int (*ptr)[5] : () 的优先级 > [] , 所以他ptr本质上是一个指针,所以是数组指针,指针指向的内容是一个数组,包含5个int元素。
    int *ptr[5]: 在这个表达式里, [] 优先级最高,所以本质上是一个数组,所以是指针数组,数组中存放着5个int类型的指针。
发表于 2022-08-06 14:56:20 回复(0)
d
发表于 2021-06-19 19:05:17 回复(0)
优先级问题 这里下边引用优先级高于解引用
发表于 2021-01-20 12:19:19 回复(0)
int(*ptr)[ ]是指一个指向整形数组的指针,而    int *ptr[ ]是指针数组,ptr[ ]里面存的是地址。它指向的位置的值就是*ptr[0]、*ptr[1]....*ptr[3]
发表于 2018-12-26 10:41:30 回复(0)