指针和引用的区别是什么?

如题所述

作为形参,二者的区别是: 指针传递的是地址,而引用可以看作是主调函数与被调函数间的全局变量,比如有函数
void swap(int *a, int *b) { // 形参为指针
int t = *a;
*a = *b;
*b = t;
}

void SWAP(int &a, int &b) { // 形参为引用
int t = a;
a = b;
b = t;
}
二函数都是完成数据交换功能,在函数SWAP()中,直接用a、b参与运算,貌似全局变量。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-08
引用可以看成特殊的指针,引用是C++引入的概念,C里没有。

其实引用是指针的封装类型,实际也是用指针机制实现。
引用可以看做固化的指针,只是外在调用形式为类型调用。

引用是C++为了更好的体现封装概念引入的新元素,本质上就是指针。

总结:引用就是指针换了件衣服。一体两面的东西。为语言增加新的概念元素,用来支撑C++的设计语义(例如拷贝构造的语法自然性等)。
第2个回答  2012-08-08
指针是一个变量;

引用是一个指针常量,不可以改变引用的对象,但使用时却可以直接当作为对象使用,应该说是一个很特殊的类型;本回答被提问者采纳
第3个回答  2012-08-08
指针就是变量、数组、函数等的地址,指针变量是存放指针的变量。
引用是变量等的别名,也是地址,但是常量地址。
相似回答