1.指针数组 形式:char *arr[4] 定义了一个arr数组,而数组里存放的每个元素的类型是一个指向字符/字符串的指针。 理解:char *arr[i] char *(arr[i])是一样的,因为[]优先级高于*
2.数组指针
形式:char (*arr)[4] 表示一个指针,并且指向“一个有4个char型元素的数组” 3.函数指针: 定义:函数指针是指向函数的指针变量。 形式:例:int (*str)(int x, int y);//指针str指向有x和y
两个参数的函数。 返回值类型: ( * 指针变量名) ([形参列表]); 注意:指向函数的指针变量没有++和--运算 4函数指针数组
形式:void test(char* str)
例:void (*arr[5])(char*)//arr[5]中存放的是指针,指向每个指向函数的指针,函数中的参数是char*,返回值为void型。
注意:本质是数组,数组里存放的是函数指针。
5.指向函数指针数组的指针 形式:void test(char* str) 例:void (*(*str)[5])(char*)=&test //取地址代表是指针 //str是一个指针,指向一个含有5个元素的数组,数组存放的每一个元素为函数指针。 注意:指向函数指针数组的指针本质为指针,这个指针指向一个函数指针数组,这个数组中的元素是函数指针,函数参数是char*,返回类型是void型。