指针数组的数据类型由什么决定?既然都是指针,为什么不直接是int

我想请问下,指针数组的数据类型由什么决定?既然都是指针,为什么不直接是int
最新回答
酷到乏味

2024-05-02 05:10:59

int *p[10];定义的就是一个指针数组,因为[]的优先级比*高,所以[]先跟P结合,形成数组,这个数组的数据类型就是int *。
如果是这样 int (*p)[10]; 因为括号的优先级高于[]所以p先跟*结合,形成指针,后面那个[10]事实上是声明了一个匿名数组,这个p就是一个指向数组int [10]的数组指针。
如果是int型,这个指针数组里的元素就不能接受别人的取地址赋值,因为类型不符。
╭⌒浅浅笑

2024-05-02 09:48:45

取决你想用指针指向什么类型的变量啊。。