空指针
- 地址为0不能访问。指向地址0的指针就是空指针
- 可以用“NULL”关键字对任何类型指针进行赋值。NULL实际上是整数0,值为NULL的指针就是空指针:
int *pn=NULL;
char *pc=NULL;
int *p2=0;
- 指针可以作为条件表达式使用。如果指针的值为NULL,则相当于假,值不为NULL,就相当于为真
if(p)if(p!=NULL)
if (!p) if(p==NULL)
指针作为函数参数
#include <iostream>
using namespace std;
void Swap(int *p1,int *p2)
{
int tmp=*p1;//将p1指向的变量的值,赋值给tmp
*p1=*p2;//将p2指向变量的值,赋值给p1指向的变量
*p2=tmp;//将tmp的值赋给p2指向的变量
}
int main(){
int m=3,n=4;
Swap( &m, &n);//使得p1指向m,p2指向n
cout<<m<<" "<<n<<endl;//输出:4 3
return 0;
}