1、void指针
1)可以指向任意类型的数据
2)小心使用void类型指针
void *p;
p++; //错误
p+=1; //错误
无类型指针不能进行算法操作,没有指针加一的能力,但是在vs 2019 gcc 中 vp+=1 执行一次加一个存储单元也就是一个字节
3)当使用其他类型指针(例:char类型)时,可以将其进行强转
void * p;
(char *)p++;
(char *)p+=1;
4)void*,任何类型都可以直接赋值给他,无需进行强制类型转换
void *p1;
int *p2;
p1 = p2;
void *p1;
int *p2;
p2 = p1;//错误
“空类型”可以包容“有类型”,而反之则不能
2、void 可以存放任意变量的地址, 但不能解引用
1)存放任意变量地址
int a;
void *p=&a;