一,有关指针的数据类型
int *p; p为指向整形数据的指针.
int a[n]; 定义一个整型数组a,它的长度为n.
int *p[n]; 定义一个指针数组,数组里都是指向整型数据的指针(因为()的优先级高于*所以先与() 结合成数组,里面的存放类型是int *)
int (*p)[n]; 定义一个指针,它指向一个有n个元素的一维整型数组.p++,每次移位的单位为n.
------传说中的分割线-----
int f(); 声明一个函数,返回值为int.
int *p(); 声明一个返回值为指向整型的指针.原因与数组相同,都是括号的优先级高于*.
int (*p)(); 声明一个指向函数入口地址的指针,这个函数的返回值为整型.函数名与数组名相似,都是一个 地址.指向函数的指针,一经指定,就与函数名有相同的功能,也可用于调用.
int **p; 定义一个二级指针,指向一个指向整型数据的指针.