C语言第四天

(*p)带括号的都是指针

指针数组:指针的数组,这个数组中所有的元素都是指针类型

数组指针:数组的指针,这个指针存放着一个数组的首地址,或者说这个指针指向一个数组的首地址,定义的时候 

int a[3] ;
int (*p)[3] = &a//正确&a是指整个数组的首地址
int (*p)[3] = a;//a是指数组首元素的首地址
//可以把二维字符数组操作函数用数组指针作为函数的传递参数,这个时候【】放得应该是二维数组的列长,这样就等于p++每一步的步长

指针函数:是一个函数,返回值是指针

函数指针:指向的是这个函数的指针

如何分析一个复杂的定义比如  int *(*(*fp1)(int) )  [10] 这定义了个啥(右左法则)

1、先找变量,一个指针

2、出圈先右后左,指向函数的指针 指向一个返回指针函数的指针

3、出圈后 先右后左,一个10个元素的数组  左边一个指针,再往左,一个int

4、fp1是一个指向函数的指针,这个函数是一个返回指向指针数组的指针

 

posted @ 2023-05-25 10:03  风中凌乱的猪头  阅读(21)  评论(0)    收藏  举报