指针数组 :
指针数组是数组,是一个存放指针的数组,例如:int *arr1[10]、
char *arr2[4]、char **arr3[5].
数组指针 :
数组指针是指针。是指向数组的指针,我们已经熟悉了很多的指针,
例如: int* pint:能够指向整形的数据的指针
float* pf:能够指向浮点型数据的指针
int(*p)[10]:数组指针,在这里,之所以能够判定他为数组指针是因为圆括号改变了和p结合的符号的优先级,先和*结合在[]结合,所以先定义成指 针,在定义成数组
函数指针 :
函数指针变量:保存函数地址的变量
函数名通常代表了函数的地址,函数指针是用来保存函数地址的。
例如:void (*pfun1)() 函数指针
函数指针不同于函数的声明: void *pfun2() 为 函数的声明
函数指针数组 :
数组是一个存放相同类型的数据的存储空间,把函数的地址存放到一个数组中,把这个数组就叫做函数指针数组
函数指针数组的定义:
int (*p[10])();
指向函数指针数组的指针:
指向函数指针数组的指针是一个指针,指针指向一个数组,数组的元素都是函数指针。
定义方式:
void (*(*p)[10])(const char*)
顺序:定义一个函数指针,*p
函数指针的数组*p[10]
函数指针的数组的指针:(*(*p)[10])
指针数组是数组,是一个存放指针的数组,例如:int *arr1[10]、
char *arr2[4]、char **arr3[5].
数组指针 :
数组指针是指针。是指向数组的指针,我们已经熟悉了很多的指针,
例如: int* pint:能够指向整形的数据的指针
float* pf:能够指向浮点型数据的指针
int(*p)[10]:数组指针,在这里,之所以能够判定他为数组指针是因为圆括号改变了和p结合的符号的优先级,先和*结合在[]结合,所以先定义成指 针,在定义成数组
函数指针 :
函数指针变量:保存函数地址的变量
函数名通常代表了函数的地址,函数指针是用来保存函数地址的。
例如:void (*pfun1)() 函数指针
函数指针不同于函数的声明: void *pfun2() 为 函数的声明
函数指针数组 :
数组是一个存放相同类型的数据的存储空间,把函数的地址存放到一个数组中,把这个数组就叫做函数指针数组
函数指针数组的定义:
int (*p[10])();
指向函数指针数组的指针:
指向函数指针数组的指针是一个指针,指针指向一个数组,数组的元素都是函数指针。
定义方式:
void (*(*p)[10])(const char*)
顺序:定义一个函数指针,*p
函数指针的数组*p[10]
函数指针的数组的指针:(*(*p)[10])