黑马程序员技术交流社区

标题: 引用和指针的区别? [打印本页]

作者: siegee    时间: 2014-4-29 09:37
标题: 引用和指针的区别?
本帖最后由 siegee 于 2014-4-29 10:37 编辑

这个有时候就分不清楚了,求大神详解!
作者: 胡铭    时间: 2014-4-29 10:21
1.引用是一个变量的另外一个名字
  定义方式:
     int a = 3;
     int& b = a;//储存的是值
  指针是一个变量的拷贝,复制体
     int a = 3;
     int* b = &a;//储存的是地址

2.定义:
      引用只能对已经存在的变量或对象实现引用
      而指针则不需要,可以定义为空;
3.传参:
      如果传递的是一个引用,意味着这个变量或对象已经存在了;
      如果传递的是一个指针,则不能判断这个指针是不是有效的,是不是空的 ... ...
      所以,引用较为安全。
      虽然传引用较为安全,但是也是利用指针来实现的,所以指针的效率要比引用高一些。
4.引用直接去访问变量,不用分配自己的内存空间,而指针是间接访问,需要有自己的内存空间
作者: 脸皮猴    时间: 2014-4-29 10:23
胡铭 发表于 2014-4-29 10:21
1.引用是一个变量的另外一个名字
  定义方式:
     int a = 3;

C语言??有int &b = a;这种用法吗?
作者: gaoxinglei123    时间: 2014-4-29 10:30
脸皮猴 发表于 2014-4-29 10:23
C语言??有int &b = a;这种用法吗?

没有。c语言中的&为位与或者取地址




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2