1、无类型指针:void *p;
不指定它指向具体哪种数据类型。可以通过强制转化将void *转化为其他类型指针,也可以用(void *)将其他类型指针强制转化为void类型指针。指针之间赋值需要类型相同,但任何类型的指针都可以赋值给void *。
2、空指针:NULL
NULL在C语言中的定义为(void *)0。空指针就是指向了NULL的指针变量。如果一个指针不能确定指向任何一个变量的地址,应将这个指针设置为空指针。
3、野指针
野指针,没有指向任何有效地址的指针变量,所以在代码中避免出现野指针。