1 高级指针话题
1.1 指向指针的指针
INT8U lby_tmp = ‘a’;
INT8U *lp_tmp;
INT8U **lpp_tmp;
lpp_tmp = &lp_tmp;
*lpp_tmp = &lby_tmp;
这样,三个变量就有了相同的值;
lby_tmp = ‘a’;
*lp_tmp = ‘a’;
**lpp_tmp = ‘a’;
1.2 高级声明
int f; 整型
int *f; 指向整型的指针
int f(); 返回一个整型
int *f(); 返回值类型是一个指向整型的指针
int (*f)(); 函数指针,所指向的函数返回一个整型
int *(*f)(); 函数指针,所指向的函数返回一个指向整型的指针
int f[]; 整型数组
int *f[]; 数组,它的元素类型是指向整型的指针
int (*f[])(); f为一个数组,数组元素的类型是函数指针,它所指向的函数返回整型值;
int *(*f[])(); f为一个数组,数组元素的类型是函数指针,它所指向的函数返回指向整型的指针;
1.3 函数指针
int f(int);
int (*pf)(int) = &f;
int tmp;
以下三个表达式相同
tmp = f(25);
tmp = (*pf)(25);
tmp = pf(25);