关于一重指针和二重指针的区别和联系

一、关键词

  1. 指针,二重指针

二:知识点

1. 指针的本身地址、指针所指向地址、指针所指向地址内容

  1. 本身地址:指针也是一个类型,通常是在64位系统上是8字节,32位是4字节。既然是类型对象就需要存储地址,因此本身地址指的是用于存储指针这个变量值的地址。
  2. 指针指向地址:指针是个变量,这个变量存储的值就是所指向的地址。
  3. 指针指向的地址内容:指针本身存储着一个所指向的地址,那么所指向的地址存储的内容片段,就是指针所指向地址内容。

2. 一重指针和二重指针使用上的区别

一重指针指向一个地址,二重指针是指向指针的指针。

在使用上唯一的区别就是:
一重指针不能改变自身所指向的地址,也就是自身所存储的值,能改变的是自身存储的值所在的地址的内容。
二重指针不仅能改变自身所指向指针所指向的值,还能改变自身所指向指针内的值,而一重指针是固定这个指针变量的值,这个值其实就是这个指针所指向的地址。

3. 传参几种类型及其本质

函数传参有三种类型,指针类型,引用类型,值传递。值得注意的是本质上,所有的参数传递都是值传递,区别是值的类型。指针传递和引用传递都是固定的创建一个一般为8字节的副本指针,这个指针所存储的值是传递的值赋予的,而一般说的值传递是对数据的整体复制一个副本,开销比较大,修改整体拷贝的副本不会影响到外部真正的数据,而8字节的指针传递(引用传递本质也是指针)可以改变原始数据的内容。

三、实际运用

posted @ 2024-05-20 16:42  Labant  阅读(134)  评论(0)    收藏  举报