第一张图片右边那部分,一开始构造了指针 p q o ,其中p,q,o是node类型的指针,之前有定义说:我们把存的值是地址的变量叫做指针,以p为例子,因为node是自己造的结构体,这个node构造体中有值和指针,所以p这个变量中除了有值之外,还有一个指针,一开始构造的时候会默认为空指针(即什么也不指),node* p=new Node(1),把新构造的结构体的地址赋值给p,所以现在p的值部分存的是Node 1的地址 p的指针部分什么也没存,q,o也一样,然后p-> next = q 把q赋值给p 中的next指针,一般把一个地址赋给一个指针的话需要写&取地址符号,代表取变量的地址,这里因为q的值本来就是一个地址,所以没有写取地址符号,直接把Node 2的地址给了p的指针,那么p的指针就指向了Node 2,然后一系列操作下来,不就变成了我在草稿纸上画的图片了吗,怎么会是第二张图片上的样子呢?
4条回答 默认 最新
- CSDN专家-link 2022-09-23 18:48关注
因为node是自己造的结构体,这个node构造体中有值和指针,所以p这个变量中除了有值之外,还有一个指针
==这个理解有问题,p指针存储的地址是node结构体的首地址,没有什么“除了有值之外,还有一个指针”的说法
换个白话理解一下
结构体也好,普通变量也好,就像一栋楼,或者一个小区。指针就是一张白纸,纸上写着楼号或者小区地址而已。甚至这个地址到底是盖的小区,商业大楼都无所谓,这就是void指针,只是一个地址而已。如果带着类型,比如结构体指针,整型指针,那么就是在纸上还写了这个地址到底盖了什么建筑。在这种情况下,编译器编译的时候就会进行检查,如果指针指向的地址盖的不是类型所指定的建筑,就会报错提示。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥30 STM32 INMP441无法读取数据
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境