设为首页 加入收藏

TOP

指针和引用的区别是什么?
2014-11-16 10:00:03 来源: 作者: 【 】 浏览:28
Tags:指针 引用 别是 什么

1、指针是一个地址值,而引用是一个实体的别名。这句干巴巴的话我理解了很久,终于有一点点明白这两者究竟不同在哪里。指针,是一种数据类型,它的值是一个地址,当声明一个指针,编译器会为这个指针变量分配内存空间;而引用不是数据类型,引用本身不会占内存空间,编译器也不会为引用分配空间。支持这一点的最有力的证据是,对一个指针变量取地址,会得到一个与这个指针本身的值不同的地址值,而对一个引用做取址运算,得到的地址则是引用的目标变量的地址。
2、指针可以指向不同的地址空间,但是引用一旦定义,只能指向那个固定的实体。
3、指针可以在定义的时候初始化,也可以定义为NULL值,也可以在定义的时候不初始化,过后再指定它的值,而引用必须在定义的时候初始化,而且必须用某个实体对其进行初始化,一旦定义完成,其值不可更改。
4、在传参的时候,使用指针传参,编译器需要给指针另行分配存储单元,存储一个该指针的副本,在函数中对这个副本进行操作;使用引用传参,编译器就不需要分配存储空间和保存副本了,函数将直接对实参进行操作。所以使用引用使得程序的效率更高。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux设备驱动程序中的一些具体问.. 下一篇东软C_C++笔试

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: