指针与引用的区别

昨天在面试时,面试的老师问了这样一个问题:“在C语言中,指针与引用有什么区别”。

    我没有听说过C语言中的引用,只好将指针稍微说了下,当提及引用时,我说我不知道。

    回家后在网上查阅了下资料,有关问题是这样说的:

          C语言没有引用啊,C++才有.

引用能起到指针的部分作用,但是比指针安全.

一个引用可以看作是某个变量的一个"别名"。对引用进行操作就像对原变量进行操作一样。

主要用于函数的参数传递时使用。因为C语言没有类似VB的“传引用调用”这个功能,所以C++的引用填补了这个空白。从此即使需要改动参数,也直接传递一个变量过去即可。这在操作符重载中有更重要的意义。等你学到以后才会明白。

int a;  //声明变量a
int& ra = a; //声明一个引用,名字是ra,ra引用了a

注意,ra声明的时候必须同时给出它到底引用了谁
int& ra; //只声明不指明是不对的。

还有,引用一旦声明,就不能再修改到其他变量上了,这与指针不同。
ra = b; //这是不行的,因为已经int &ra = a了

             原文见:http://zhidao.baidu.com/question/19449593           

            C++中引用和指针的区别:1、引用在定义时就应初始化,而指针不用。而且在任何情况下都不允许使用指向空值的引用(意味着引用的执行效率比指针要高,因为在引用使用前不需测试它的合法性)。

                     2、指针可以重新赋值,但引用却得从一而终,总是指向在初始化时指向的对象。

                     3、引用是一个变量的别名,不占存储空间。指针是个变量,占用存储空间。

不管这位老师问的问题正确与否,还是谢谢他。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值