//野指针:没有访问权限的指针(地址)
//空指针:NULL 唯一一个表示当前指针是一个无效指针,不能对它进行解引用
void Swap(int a,int b)
{
int tmp = a;
a = b;
b = tmp;
}
错误:没有起到真正交换a,b值的作用
void Swap(int *p1,int *p2)
{
int *tmp = p1;
p1 = p2;
p2 = tmp;
}
错误:没有使用解引用
void Swap_err3(int *p1,int *p2)
{
int *tmp; //野指针,悬挂指针
*tmp = *p1;
*p1 = *p2;
*p2 = *tmp;
}
错误:*tmp是野指针
void Swap(int *p1,int *p2)//ok
{
int tmp;
tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
正确!