首页 > 试题广场 >

有定义语句`int*ptr[4];`下面等价的定义语句是

[单选题]
有定义语句int *ptr [4];,下面等价的定义语句是
  • int ** ptr;
  • int( * ptr) [4];
  • int ptr[4];
  • int * (ptr [4]);
int *ptr[4]:ptr是数组,存放了4个指向int类型的指针

int **ptr:ptr是指向int类型指针的指针(是指针)
int (*ptr)[4]:ptr是指针,指向一个二维数组a[N][4],列数是4,行不知道。也称为行指针,*p指向第一行,*(p+1)指向第二行。
int ptr[4]:ptr是数组,存放了4个int类型变量
int *(ptr[4]):ptr是数组,存放了4个指向int类型的指针,可以将int *看做是一种类型。

欢迎大家指正!
发表于 2017-09-06 18:31:07 回复(0)
int **ptr :二级指针
int (*ptr)[4]:数组指针:是指针 指向一个数组
int ptr[4]:一维数组
int *(ptr [4]) :[]的优先级高于*加不加()其实都一样
所以选择D
发表于 2018-09-13 19:48:07 回复(0)
  1. int *(ptr[4]); //指针数组,可以去掉括号直接写作 int *ptr[4];
  2. int (*ptr)[4]; //二维数组指针,不能去掉括号
发表于 2022-01-23 22:13:11 回复(1)