当前位置: 首页 > 面试题库 >

C 指针和引用的区别

梁丘兴腾
2023-03-14
本文向大家介绍C 指针和引用的区别相关面试题,主要包含被问及C 指针和引用的区别时的应答技巧和注意事项,需要的朋友参考一下

(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。

(2)指针可以有多级,但是引用只能是一级(int **p;合法 而 int &&a是不合法的)

(3)指针的值可以为空,但是引用的值不能为NULL,并且引用在定义的时候必须初始化

(4)指针的值在初始化后可以改变,即指向其它的存储单元,而引用初始化后就不会再改变。

(5)"sizeof引用"得到的是所指向的变量(对象)的大小,而"sizeof指针"得到的是指针本身的大小。

(6)作为参数传递时,二者有本质不同:指针传参本质是值传递,被调函数的形参作为局部变量在栈中开辟内存以存放由主调函数放进来的实参值,从而形成实参的一个副本。而引用传递时,被调函数对形参的任何操作都会通过一个间接寻址的方式影响主调函数中的实参变量。 如果想通过指针参数传递来改变主调函数中的相关变量,可以使用指针的指针或者指针引用。

 类似资料:
  • 本文向大家介绍请说一下C/C++ 中指针和引用的区别?相关面试题,主要包含被问及请说一下C/C++ 中指针和引用的区别?时的应答技巧和注意事项,需要的朋友参考一下 1.指针有自己的一块空间,而引用只是一个别名; 2.使用sizeof看一个指针的大小是4,而引用则是被引用对象的大小; 3.指针可以被初始化为NULL,而引用必须被初始化且必须是一个已有对象 的引用; 4.作为参数传递时,指针需要被解引

  • 本文向大家介绍请你理解的c++中的引用和指针?相关面试题,主要包含被问及请你理解的c++中的引用和指针?时的应答技巧和注意事项,需要的朋友参考一下 定义: 1、引用: C++是C语言的继承,它可进行过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。引用就是C++对C语言的重要扩充。引用就是某一变量的一个别名,对引用的操作与对变量直

  • 对指针来说,解构(destructuring)和解引用(dereferencing)要区分开, 因为这两者的概念是不同的,和 C 那样的语言用法不一样。 解引用使用 * 解构使用 &,ref, 和 ref mut fn main() { // 获得一个 `i32` 类型的引用。`&` 表示获取一个引用。 let reference = &4; match reference

  • 本文向大家介绍C语言取消引用指针,包括了C语言取消引用指针的使用技巧和注意事项,需要的朋友参考一下 示例 要取消引用a_pointer并更改a的值,我们使用以下操作 可以使用以下打印语句对此进行验证。 但是,将一个NULL指针取消引用或其他无效指针将是错误的。这个 通常是未定义的行为。p1可能不会被取消引用,因为它指向的地址0xbad可能不是有效地址。谁知道那里有什么?它可能是操作系统内存,或另一

  • 本文向大家介绍iOS引用与指针有什么区别?相关面试题,主要包含被问及iOS引用与指针有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 引用必须被初始化,指针不必。 引用初始化以后不能被改变,指针可以改变所指的对象。 不存在指向空值的引用,但是存在指向空值的指针。

  • 我正在写作业,想知道这实际上是什么定义: