前段时间舍友问我指针数字和数组指针有什么区别,虽然告诉她什么是数组指针,什么又是指针数组,但老感觉什么地方怪怪的,查了下资料,做个小笔录。
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针
数组指针:a pointer to an array,即指向数组的指针
int* a[4] 指针数组
表示:数组a中的元素都为int型指针
元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于*
int (*a)[4] 数组指针
表示:指向数组a的指针
元素表示:(*a)[i]
记得做哈夫曼树译码的时候用到一个指针数组,typedef char* huffmancode[MAX];,这个的用法可以看一下以前的文章《哈夫曼细节小议》。