指针数组是数组,不是函数,数组指针是指针,不是数组,函数指针是指针,函数也有指针。
目录
int*p[]={arr1,arr2,arr3};//指针数组
int*p[]={arr1,arr2,arr3};//指针数组
p是第一行第一个数组首元素的地址,可以这样使用p[行][列]来获取哪一个元素。
int (*p)[]=&arr//数组指针
p取的是整个数组的地址,p+1会跳过整个数组的地址,可以这样来使用,*((*p)+1),首元素地址解引用,加1指向第一行第二列元素,再解引用访问该值。如果是二维数组取地址,则这样来访问每个元素, printf("%d",* (*(*p+0)+2));//第一行第二列元素
int(*p)()=Add;//函数指针
可以这样使用,p(传参)