指针数组&&数组指针&&函数指针&&函数指针数组&&函数指针数组指针
指针数组
指针数组就是存放指针的数组,与一般数组相同,只是所存放的是指针 用法与平常数组无异。
int* arr[10]; // int*为数组类型,表明其中存放的是整型指针,数组长度为10
数组指针
数组指针是指一个指向数组的指针
int (*p)[10]; // 该指针的类型为int (*)[10] 表明p是一个指向10个元素的数组的指针它的类型为int (*)[10]
p=&arr; //p中存放的便为数组arr的地址
函数指针
函数指针是 一个指向函数的指针
char* fun(char* a,char* b );
char* (*p1)(char* ,char* ); // 则改指针的类型为 char* (*)(char*,char*);
p1=fun;或p1=&fun;// 将函数的入口给p1时,可以直接写函数名,也可以对函数名取地址
(*p1)("asd","sds");//可以通过指针完成对函数的调用
函数指针数组
顾名思义他是存放函数指针的数组
char* (*p2[3])(char* ,chanr*);// 则该数组的类型为char* (*)(char*,char*),p2在这里为数组名
p2[0]=p1;//将指向函数fun的指针放入数组
或p[0]=fun;//p[0]=&fun;
p[0]("xcz","xcz");//调用函数
函数指针数组指针
它还是一个指针,指向的是一个存放函数指针的数组
char* (*(*p3)[3])(char* ,char*);
//该指针的类型为 char* (*(*)[3]) (char* ,char*);
p3=&p2;
p3[0][0]("scsa","scc");// 这里我们通过这个指针调用函数fun