c语言指针注意事项

指针注意事项有以下四点:

一、空指针

空指针是指针中的一类特殊值,这类指针没有指向任何地址,也是对任何指针类型都合法的指针值。
指针变量的值为空时,代表指针处于空闲状态,没有指向任何有意义的东西。
例:
int *a;
a=NULL;
a=0;
//指针指向0 和指针指向NULL都代表一个空指针。


二、指针初始化

定义指针后,可以采用合法的指针值对其进行初始化,如果不进行初始化, 外部变量 局部静态变量会被初始化为0,内部静态变量 寄存器变量都不会被初始化


三、指针中常见错误

3.1 指针非法访问
void main(){
int *a,b=3;
*a =3; //由于a没有指向任何地址,此时进行赋值操作,系统将报错
}


四、通用指针

在c语言中,有一种指针类型,可以指向所有类型的指针,我们称之为通用指针。
通用指针采用 (void *)表示,也被称为void指针。
如果把一个指针定义为通用指针,那么就可以将任何一个地址赋值给这个指针变量。
通用指针同其它类型指针之间的转换,需要做相应的数据转换:
例:
int *a;
void *b;
a=(int *)b;