指针数组:存放指针的数组,它就是一个数组,数组里面存放的元素都是指针(也就是数组里面存放了一些地址)
Example: uint16 *mbxlength[1024];就是一个指针数组。数组mbxlength[1024]里面存放了1024个uint16类型的指针变量(uint16类型的指针变量的意思就是这个每个指针变量所指向的元素是uint16类型的)。
数组指针:指向数组的指针,它就是一个指针,这个指针指向一个数组。
Example: uint16 (*mbxlength)[1024];就是一个数组指针。这个指针指向一个存放了1024个uint16类型数据。
指针函数:返回值类型为指针变量的函数,就是一个函数。
Example: uint16 *mbxlength(int 16, int 32);就是一个指针函数。它是一个函数,函数的返回值类型为一个指向uint16类型数据的指针变量。
函数指针:指向函数的指针,它就是一个指针,这个指针指向一个函数。
Example: uint16 (*mbxlength)(int16, int32 );就是一个函数指针。它是一个指针,这个指针指向一个返回值类型为uint16类型的数据,参数列表为int16类型和int32类型的函数。
函数指针数组:存放函数指针的数组,它就是一个数组。也即是数组的每一个元素都是一个函数指针。(说白了,就是一个指针数组,只不过这个指针数组里面存放的指针是特殊的指针,都是指向某种类型函数的指针)
Example: uint16 (*mbxlength[1024])(int16, int32);就是一个函数指针数组。这个数组有mbxlength[1024]存放了1024个函数指针,每个函数指针都指向一个返回值类型为uint16类型的数据并且参数类型为int16和int32的函数。