1.指针可以不初始化,引用必须要初始化。
2.指针可以改变指向,引用在初始化后就不能再变化了。
#include<stdio.h> void swap1(int& a,int& b){ int temp; temp=a;a=b;b=temp; } void swap2(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp; } int main(){ int x=1,y=10; swap1(x,y); swap2(&x,&y); printf("%d %d\n",x,y); }
在swap1处:
可以发现,在main函数中,x,y的地址与在swap1出a,b的地址一摸一样,也就是说,引用相当于对一个变量的另外一个称呼。
swap2使用指针就比较熟悉