(小技巧:重点在后面)
函数指针:指向函数的指针
eg:void *PFUNC(void);
指针函数:返回值是指针的函数
eg:void(*PFUNC)(void);
在C语言学习过程中,指针是很多人十分头疼的内容,但是在开发过程中指针的使用也是比较频繁的,指针也是C语言学习的精髓…
int *p = NULL ;
指针类型 *指针变量名 = NULL; //一般初始化时为NULL;
指针指向类型
:与C语言的基本类型一致,如,int,char ,float,long,short…
*
:定义指针的标志
指针变量名
:取名与C语言变量命名规则一致,要做到见其名知其意
看个简单的例子
int data = 100; //定义一个整形变量data;
int *p = NULL; //定义一个整形指针变量p;
p = &data; //将data变量空间地址赋值给p, &是取地址符,其实就是指针变量p空间存储&data
*p = 50; //通过* p来修改地址指向空间的值,p == &data; *p == data;
printf("data = %d",p); //通过解引用访问p空间里存储地址的值;
& | 取地址符 |
---|---|
* | 解引用 |
首先我们来看下,p
变量里面存放的是指向data的地址,*p
我们不妨可以理解为解引用就是访问p指向地址的值,可访问包括了读操作
和写操作
,上面这个例子中*p = 50;是进行写操作。
*
符号的几种定义: