经常有人问如何区分数组指针和指针数组。我这里有个诀窍:
1) int (*p)[10]
2) int *p[10]
根据优先级来判断,()>[]>*
所以1)中*p外面有(),所以p强制成为一个指针,不论怎样就是一个指针,后面接着[10]表示这个指针指向一个含有10个整型值的数组
而2)中[]优先级最高,所以p就是一个数组,这个数组包含了10个整型指针。
经常有人问如何区分数组指针和指针数组。我这里有个诀窍:
1) int (*p)[10]
2) int *p[10]
根据优先级来判断,()>[]>*
所以1)中*p外面有(),所以p强制成为一个指针,不论怎样就是一个指针,后面接着[10]表示这个指针指向一个含有10个整型值的数组
而2)中[]优先级最高,所以p就是一个数组,这个数组包含了10个整型指针。