#include<stdio.h>
int main()
{
//硬盘不小心格式化了,误删除了,为什么可以恢复呢?
//
//野指针 :指向的空间不确定,不知道能不能访问
int* p;
{
int age = 18; //age出了块语句之后就释放了
p = &age; //p指向了局部变量age
}
//这里P指向的变量其实已经释放了,再访问就不安全
//释放:告诉系统,这个变量已经没用了,后面定义的变量可以用这块空间(不会清空内存)
printf("%p %d\n", p, *p);
//空指针:指向地址为0x0000的指针,空指针比野指针安全
short* ps = NULL;//初始化为空
//判断一下ps是否有效 //不能访问空指针
if (ps)
{
//
}
else
{
//
}
//万能指针:vodi* 可以自动转换为其他类型的指针,其他类型的指针可以自动转换为万能指针
double pi = 3.14;
//能自动转换,但不能使用Void*指针
void* pv = π
//printf("%lf\n", *pv);//error C2100:非法的间接寻址
double* pdd = pv;
printf("%lf\n", *pdd);
return 0;
}