
指针和引用的区别是什么?
4个回答
展开全部
作为形参,二者的区别是: 指针传递的是地址,而引用可以看作是主调函数与被调函数间的全局变量,比如有函数
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参与运算,貌似全局变量。
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参与运算,貌似全局变量。

2024-04-12 广告
莘默(上海)自动化设备有限公司成立于2016年3月,是中国工控领域的领先分销商,专业从事欧美工控自动化产品的贸易。主要经营欧美各国知名品牌的高精密编码器、传感器、仪器仪表、阀门、泵、电机以及各类自动化产品。服务于冶金,汽车,化工,食品,能源...
点击进入详情页
本回答由上海莘默提供
展开全部
引用可以看成特殊的指针,引用是C++引入的概念,C里没有。
其实引用是指针的封装类型,实际也是用指针机制实现。
引用可以看做固化的指针,只是外在调用形式为类型调用。
引用是C++为了更好的体现封装概念引入的新元素,本质上就是指针。
总结:引用就是指针换了件衣服。一体两面的东西。为语言增加新的概念元素,用来支撑C++的设计语义(例如拷贝构造的语法自然性等)。
其实引用是指针的封装类型,实际也是用指针机制实现。
引用可以看做固化的指针,只是外在调用形式为类型调用。
引用是C++为了更好的体现封装概念引入的新元素,本质上就是指针。
总结:引用就是指针换了件衣服。一体两面的东西。为语言增加新的概念元素,用来支撑C++的设计语义(例如拷贝构造的语法自然性等)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针是一个变量;
引用是一个指针常量,不可以改变引用的对象,但使用时却可以直接当作为对象使用,应该说是一个很特殊的类型;
引用是一个指针常量,不可以改变引用的对象,但使用时却可以直接当作为对象使用,应该说是一个很特殊的类型;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-08-08
展开全部
指针就是变量、数组、函数等的地址,指针变量是存放指针的变量。
引用是变量等的别名,也是地址,但是常量地址。
引用是变量等的别名,也是地址,但是常量地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询