首页 > 试题广场 > 关于引用以下说法错误的是()。
[单选题]
关于引用以下说法错误的是()。
  • 引用必须初始化,指针不必
  • 引用初始化以后不能被改变,指针可以改变所指的对象
  • 不存在指向空值的引用,但是存在指向空值的指针
  • 一个引用可以看作是某个变量的一个“别名”
  • 引用传值,指针传地址
  • 函数参数可以声明为引用或指针类型

45个回答

添加回答
  • 首先,E明显是不对的。引用也是传递的地址,否则你在函数内部操作的就不可能是实参,而只能是形参。实参的内容是不会改变的。其次B项说法不明确,“引用初始化以后不能被改变 ”有歧义。如果已有&a = b; 则不能再有&a = c;  若b = 2; &a = b; a = 5;则是可以的,b的值也将被赋为5。考虑到B项后面又说:“指针可以改变所指的对象 ”,该题考察的应该是前一种意思。综上所诉,选E
    编辑于 2017-03-27 20:26:09 回复(4)
  • E 引用传地址
    发表于 2015-03-25 21:57:51 回复(0)
  • E是不对的,引用传的也是地址
    B的说法也是不严谨的,指针并不一定可以改变所指向的对象例如
    char* s = “aaa”;
    const int * p;
    编辑于 2015-09-14 11:39:44 回复(0)
  • B
    声明一个引用的同时,如果不是作为函数的参数或返回值,必须进行初始化,明确引用是哪个变量的别名,引用一旦成为某个变量的别名后,在程序运行过程中不可改变这种指代关系。
    发表于 2015-01-17 16:59:50 回复(1)
  • LuL头像 LuL
    mark。引用和指针传的都是地址,否则不会影响实参。这题我做错了。
    发表于 2017-01-15 17:14:42 回复(0)
  • 指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。
    发表于 2016-02-21 13:23:48 回复(2)
  • 引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用
    1.首先,引用不可以为空,但指针可以为空。前面也说过了引用是对象的别名,引用为空——对象都不存在,怎么可能有别名!故定义一个引用的时候,必须初始化。因此如果你有一个变量是用于指向另一个对象,但是它可能为空,这时你应该使用指针;如果变量总是指向一个对象,i.e.,你的设计不允许变量为空
    2.其次,引用不可以改变指向,对一个对象"至死不渝";但是指针可以改变指向,而指向其它对象。说明:虽然引用不可以改变指向,但是可以改变初始化对象的内容。
    3.再次,引用的大小是所指向的变量的大小,因为引用只是一个别名而已;指针是指针本身的大小,4个字节。

    发表于 2015-08-20 08:57:10 回复(0)
  • 引用可以看做某个变量的'别名',引用传的也是地址!
    发表于 2016-10-07 23:26:12 回复(0)
  • 选项B,如果指针指向常量,那么它不能改变所指的对象。
    发表于 2016-08-29 11:22:17 回复(0)
  • E,引用传地址。
    发表于 2016-05-17 14:52:25 回复(0)
  • 引用也是传地址,相当于对应变量的别名。
    发表于 2016-04-11 10:35:26 回复(0)
  • B
    发表于 2015-07-02 12:47:12 回复(0)
  • A
    发表于 2015-06-30 10:26:48 回复(0)
  • 描述的有歧义,引用初始化后,不能再改变所代表的对象
    发表于 2015-06-05 12:21:52 回复(0)
  • 刘头像
    E
    发表于 2015-05-28 09:48:05 回复(0)
  • c
    发表于 2015-05-15 10:26:46 回复(0)
  • 选E吧,引用和指针一样,作为函数参数时传递的是变量的地址,因此改变引用名的值就是改变原有变量的值;至于大家所说的B,引用对象初始化后不能改变,内容是可变的,题目说的意思可能是前者吧。
    发表于 2015-05-13 19:01:09 回复(0)
  • E是毫无争议的,引用传的不是值,它和指针一样也是传的地址,B说的不太明确,有两层含义,一个是引用初始化后的值是可以改变的,但是它不能再成为另一个对象的引用,不知道题意说的是前者还是后者
    发表于 2015-05-13 18:37:13 回复(0)
  • 应该是E.B根据描述应该是说的指向的对象不能变,不是对象本身。这个题有歧义。
    发表于 2015-05-13 16:34:20 回复(0)
  •     E肯定错误,引用不是传值, 按值传递 导致值的拷贝,引用显然没有值的拷贝,只是传递地址.B说法有点混淆,引用可以被改变
    发表于 2015-04-13 20:27:35 回复(0)
牛客网,程序员必备求职神器
QQ群:169195721
微 信:www_nowcoder_com 关注
微 博:牛客网 关注

扫一扫,把题目装进口袋