首页 > 试题广场 >

关于引用与指针的区别,下面叙述错误的是?

[单选题]

关于引用与指针的区别,下面叙述错误的是:

  • 引用必须被初始化,指针不必。
  • 指针初始化以后不能被改变,引用可以改变所指的对象。
  • 删除空指针是无害的,不能删除引用。
  • 不存在指向空值的引用,但是存在指向空值的指针。
推荐
B
声明一个引用的同时,如果不是作为函数的参数或返回值,必须进行初始化,明确引用是哪个变量的别名,引用一旦成为某个变量的别名后,在程序运行过程中不可改变这种指代关系。
编辑于 2015-01-27 20:11:24 回复(0)
指针在建立后会被分配一块空间,用于存储其所指向的地址,因为指针是有对应内存空间的,因此指针值(指向的内存空间)是可以改变的;而引用则不行,引用没有内存空间,仅仅是被引对象内存空间的别名,改变引用如&a=4实际上等价于a=4,改变的是被引对象的值,不改变该引用所指的内存空间;
指向空值的引用是没有意义的(因为引用对象不能改变,也就是这个引用永远指向null,那这个引用根本就没有存在的必要);指向空值的指针是有意义的,尤其在指针被删除后,如果不对指针进行赋值,则指针的值将会由系统随机指定,这样后续如果有对指针的操作的话,将会带来很大的风险。因此指针被删除后必须赋值为null;
因为引用无法改变,因此不进行初始化的引用没有意义;因为指针可以改变,因此指针可以不进行初始化,可以在后续程序中动态改变;
发表于 2016-09-15 17:31:13 回复(1)
总结一下引用和指针的区别:
  1、引用是直接访问,指针是间接访问
  2、引用是变量的别名,本身不单独分配自己的内存空间。指针有自己的内存空间。
  3、引用一旦初始化,不能再引用其他变量。而指针可以!
发表于 2017-06-17 09:28:43 回复(0)
指针不初始化不是野指针吗?
发表于 2023-06-29 23:51:06 回复(0)
A中的指针可为常指针即 int* const p 此时就必须被初始化
发表于 2018-04-06 17:20:53 回复(0)
答案:B
引用是一个变量的别名
给一个对象起的别名不能再用在其他对象上,专业的说法也就是引用的对象不能改变
发表于 2015-01-15 18:06:27 回复(0)
引用是直接访问的, 指针是简介访问。
引用是变量的别名,本身不单独占用空间,指针会占用独立空间。

发表于 2021-12-01 14:56:48 回复(0)
指针不初始化不成了野指针?。。
发表于 2021-08-15 20:44:11 回复(0)
删除空指针是无害的??
发表于 2020-02-29 09:12:08 回复(0)
引用不可以改变指向,但是可以改变初始化对象的内容。对引用的操作直接反应到所指向的对象。
发表于 2017-03-30 13:15:58 回复(0)
引用与指针的区别 引用 :创建的同时必须被初始化, 不能有NULL引用,必须与合法的存储 单元相关联,一旦被初始化,就不能改变引用的关系。 指针: 任何时候都可以被初始化,指针可以指向NULL, 指针的指向随时都可以改变
编辑于 2017-03-18 10:43:06 回复(0)
B
指针初始化之后,可以指向其他变量,也可以更改指向;
引用是变量的别名,一旦初始化,不能改变
发表于 2015-10-20 14:13:17 回复(0)
引用一旦成为变量的别名后,就不能被改变
发表于 2015-10-12 10:58:11 回复(0)
B    说反了
发表于 2015-04-13 20:40:22 回复(0)
B
指针初始化之后,可以指向其他变量
引用是变量的别名,一旦初始化,不能改变,也就是说不能是其他变量的别名
发表于 2014-12-31 22:19:55 回复(0)