举几个有代表性的例子
比如
int *a[2];
a与[2]结合,说明a是一个有两个元素的数组,再与*结合,说明数组中两个元素都是指针,最后与int结合,说明指针指向的都是int类型整数。a的类型是int *[2]。
int (*b)[2];
b与*结合,说明b是一个指针,再与[2]结合,说明该指针指向的是一个有两个元素的数组,最后与int结合,说明该数组的元素都是int类型的整数。b的类型是int (*)[2]。
int *g();
g先与()结合,说明g是一个函数,然后与*结合,说明g这个函数返回的是一个指针,最后与int结合,说明返回的指针指向的是整形数。g的类型是int *()。
int (*h)();
h先与*结合,说明h是一个指针,然后与()结合,说明这个指针指向的是一个函数,最后与int结合,说明该函数的返回值是整形数。h的类型是int (*)()。
结合的先后顺序与运算符的优先级有关。