指针(*)和引用(&)的区别
定义:
- 指针:指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值,也就是说,地址指向该变量单元。
- 引用:引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:
类型标识符 &引用名=目标变量名;
代码实现:
#include<stdio.h>
int main()
{
int a=2; //定义一个整形变量
int *b=&a; //定义一个整形指针,将a的值(&a)赋给b,等价于:
//int *b;
//b=&a;
int &c=a; //定义一个整形应用,改变c的值则a的值也会改变
printf("改变前:%d %d %d\n",a,*b,c);
c=3;
printf("改变后:%d %d %d",a,*b,c);
return 0;
}
运行结果:
提示:
C语言没有引用(&),C++才有!!!
C语言只有取值,虽然符号一样,但意义不同~