指针数组:指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型,在32位系统中,指针占四个字节。
数组指针:数组指针可以说成是”数组的指针”,首先这个变量是一个指针,其次,”数组”修饰这个指针,意思是说这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址。
区分指针数组跟数组指针主要看变量是先跟‘’还是‘[]’结合,如果没有圆括号的话,’[]’的优先级比’‘高。
例:int *p[10] 指针数组
int (*p)[10] 数组指针
函数指针:函数指针包含函数在内存中的地址。数组名实际上就是数组的第一个元素在内存中的地址,类似地,函数名实际上也是执行这个函数任务的代码在内存中的起始地址。
函数指针数组:数组是一个用于存放相同类型数据的存储空间,所以函数指针数组就是存放函数指针的一个数组。函数指针数组的一个应用就是转移表。
指向函数指针的数组的指针:它本质上是一个指针,指针指向一个数组,数组中存放的是函数指针。
注意:函数名和&函数名含义是相同的,都是函数的地址。