理解数组指针

理解数组指针

首先数组指针是指针,指向一个数组在;

其次,数组指针和指针数组很容易混淆 (指针数组是一个数组,里面存放的是指针)

int *p[10];//1
int (*p)[10];//2

其实要分清楚上面哪一个是数组指针,其实要看 优先级

表达式1,p先和[结合,与10 组成一个数组,再与结合,所以表达式1,本质上是一个数组, int * 代表它里面存放的是int* 类型的;

表达式2,由于“ () ” 的有结合性,所以p先与*结合 ,所以p是指针,指向一个长度为10的数组;

理解函数指针和定义

函数指针是指向一个函数的指针变量指针

其形式是:

void (*pfun1)();
void  *pfun2();

pfun1是指针,pfun1先和*结合所以 pfun1是指针,指向一个函数,该函数无参数, pfun2是一个函数,返回值为 void

理解函数指针数组和定义,转移表

函数指针数组: 它是一个数组,里面存放的是函数指针;

int (*parr1[10])()

parr1先和[]结合,说明parr1是数组,是int(*)()类型的函数指针;

理解指向函数指针数组的指针和定义

void (*(*pfunArr)[5])()//指向函数指针数组的指针

理解回调函数的使用

回调函数是通过函数指针调用的函数。如果将函数指针作为一个函数参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。

qsort函数

猜你喜欢

转载自blog.csdn.net/weixin_42139044/article/details/84201205