深度剖析堆栈指针
为什么打印root的值与&root->value的值是一样的呢
测试结果:
*号一个变量到底取出来的是什么?
以前我写过一句话,就是说,如果看到一个*变量,那就是直逼这个变量所保存的内存地址,然后取出里面保存的对应的值或者地址,
那么这句话该怎么来理解,可以这样讲
那么像上面打印的结果都是一样的,取出来的都是&num1的地址
下面上具体的代码说明:
#include <cstdio>
#include <cstdlib>using namespace std;int main()
{int num1 = 3;int *p_num1 = &num1;int **pp_num1 = &p_num1;int ***ppp_num1 = &pp_num1;printf("%d\n",*p_num1);//直逼num1,所以打出来是3printf("%d %d\n",*pp_num1,&num1);//直逼p_num1,取出来就是num1的地址printf("%d %d\n",*ppp_num1,&p_num1);//直逼pp_num1,取出来p_num1的地址//第一个*号直逼pp_num1,取出&p_num1地址//第二个*号直逼p_num1,取出&num1的地址printf("%d %d\n",**ppp_num1,&num1);//这里有两个**,一个*直逼pp_num1保存的地址就是p_num1,取出来是//&num1的地址,然后再来一个*,直逼num1的地址,取出来的就是3printf("%d\n",**pp_num1);return 0;
}
运行结果:
,&(*root)->left这个表达式为什么会报错
说这个之前,我们先来分析一下下面这些表达式的取值
表达式1:printf("%d %d %d %d\n",&(*root),root,&root->value,&root);
表达式2:printf("%d %d\n",&(*pp_root)->left,&root->left);
表达式3: printf("%d %d %d\n",(*pp_root)->left,root->left,&child->value);
再来说说,&(*root)->left它为什么报错
先来看一张图
再来分析上面首先*root是返回一个node对象本身,没有指针引用,因此->left编译器是会报错的
既然是返回node对象本身,那么就可以用.来进行引用,像下面这两个表达式值都是一样的
这也就是它报错的原因
二叉树内存节点分析
好了,祝你早安,午安,晚安。
相关文章:

深度剖析堆栈指针
为什么打印root的值与&root->value的值是一样的呢 测试结果: *号一个变量到底取出来的是什么? 以前我写过一句话,就是说,如果看到一个*变量,那就是直逼这个变量所保存的内存地址,然后取出里面保存的…...

C++笔记之静态成员函数的使用场景
C笔记之静态成员函数的使用场景 C静态成员函数的核心特点是不与特定类实例相关,可通过类名直接调用,用于执行与类相关的操作而无需创建类对象。其主要用途是在类级别上共享功能,管理全局状态或提供工具函数。 code review! 文章目录 C笔记之…...

Nginx的优化和防盗链
一、Nginx的优化 1、隐藏版本号 curl -I http://192.168.79.28 #查看信息(版本号等)方法一:修改配置文件 vim /usr/local/nginx/conf/nginx.conf vim /usr/local/nginx/conf/nginx.conf http {include mime.types;default_type ap…...
第二十次CCF计算机软件能力认证
数学专场 第一题:称检测点查询 解题思路:计算欧几里得距离 #include<iostream> #include<vector> #include<algorithm>using namespace std;typedef pair<int , int> PII; int n , x , y; vector<PII>v;int main() {ci…...

一篇文章带你了解Java发送邮件:使用JavaMail API发送电子邮件的注意事项、发送附件等
Java发送邮件:使用JavaMail API发送电子邮件 作者:Stevedash 发表于:2023年8月13日 15点48分 来源:Java 发送邮件 | 菜鸟教程 (runoob.com) 电子邮件在现代通信中扮演着至关重要的角色,而在Java编程中,…...
kubernetes的日志
1、日志在哪里 kubelet组件,systemd方式部署,journalctl -u kubelet 查看 其他组件,pod方式部署,kubectl logs 查看 容器运行时将日志写入 /var/log/pods 系统日志,/var/log/message 2、查看服务日志 #首先检查服…...
设计HTML5文本
网页文本内容丰富、形式多样,通过不同的版式显示在页面中,为用户提供最直接、最丰富的信息。HTML5新增了很多文本标签,它们都有特殊的语义,正确使用这些标签,可以让网页文本更严谨、更符合语义。 1、通用文本 1.1、标…...

msvcr120.dll丢失怎样修复?总结三个dll修复方法
当我遇到msvcr120.dll丢失的问题时,我感到有些困惑和焦虑。因为这个问题会导致我无法运行依赖这个文件的应用程序。msvcr120.dll是运行时库文件的一部分,为应用程序提供了必要的运行时支持。它的丢失会导致应用程序无法正常运行,这让我意识到…...
选择题方法论——颉斌斌
文章目录 一、仔细阅读文章结构Ⅰ 时间对比Ⅱ 抛砖引玉Ⅲ 开门见山Ⅳ 一分为二Ⅴ 两者关系Ⅵ 研究性文章 1 如何精准定位1.1 定位明显的题1.2 定位不明显的题1.3 定位找不到出题句的题 2 对比选项两点2.1 接收信息2.2 对比信息 3 选择题答案特点4 评估选项5 选择题的固有缺陷5.…...
23.8.8 杭电暑期多校7部分题解
1008 - H.HEX-A-GONE Trails 题目大意 有两个玩家和一棵树,初始状态玩家一和玩家二分别在两个点 x , y x,\space y x, y,每次操作可以走一个与当前点有连边并且双方都没走到过的点,问最后是谁赢 解题思路 因为不能走走过的点,…...

《24海南大学835软件工程考研经验贴》
1.经验之谈 首先,我是一个二战的考生,一战给我带来的经验有几点。第一,数学、专业课这两门越早复习越好,越拖到后面你就会发现来不及了,这学不完,那学不完的。第二、我认为是比较关键的一点,一定…...

【yolo系列:运行报错AttributeError: module ‘torch.nn‘ has no attribute ‘Mish‘】
最近运行yolov7报错AttributeError: module ‘torch.nn‘ has no attribute ‘Mish‘ 网上搜罗了一系列的报错方法但是都不怎么好解决,那么在这里给出具体解决方法,以及一些别人的参考文章。 这里先解释自己的,然后再给出别人的相对应的报错…...

Leetcode 剑指 Offer II 039. 直方图最大矩形面积
题目难度: 困难 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定非负整数数组 heights ,数组中的数字用来表示柱状…...

SpringBoot案例-部门管理-修改
目录 前言 查看页面原型,明确需求 页面原型 需求 阅读接口文件 思路分析 功能接口开发 控制层(Controller类) 业务层(Service类) 业务类 业务实现类 持久层(Mapper类) 接口测试 前…...

element-ui表格数据为空,图片占位提示
当表格的绑定数据为空时常需要显示暂无数据等字样,这时候就用到了empty-text <el-table:data"tableData"stripeborderempty-text"暂无数据"> 但,当数据为空,想用图片展示呢,如下图 方法一:…...

C++ STL vector 模拟实现
✅<1>主页:我的代码爱吃辣 📃<2>知识讲解:C之STL 🔥<3>创作者:我的代码爱吃辣 ☂️<4>开发环境:Visual Studio 2022 💬<5>前言:上次我们已经数字会用…...

51单片机学习--红外遥控(外部中断)
需要利用下面这个红外接收头,OUT口会发出红外信号对应的高低电平,由于发送的速度很快,所以需要把OUT引脚接在外部中断引脚上,当OUT一旦产生下降沿,马上进中断,这样响应会更及时。 外部中断引脚位于P3_2和P…...

后端开发10.规格模块
概述 简介 效果图...

腾讯出了一个新聊天软件M8
众所周知,如今国内互联网,微信和QQ无疑是社交领域的霸主。 下载:https://www.123pan.com/s/BP5A-RW4xh.html 不过,它们也有各自局限性,比如难以结识新朋友、功能过于复杂等。 这让用户产生厌倦,再加上近几年AI、元宇…...

C++ QT(一)
目录 初识QtQt 是什么Qt 能做什么Qt/C与QML 如何选择Qt 版本Windows 下安装QtLinux 下安装Qt安装Qt配置Qt Creator 输入中文配置Ubuntu 中文环境配置中文输入法 Qt Creator 简单使用Qt Creator 界面组成Qt Creator 设置 第一个Qt 程序新建一个项目项目文件介绍项目文件*.pro样式…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
Kubernetes 网络模型深度解析:Pod IP 与 Service 的负载均衡机制,Service到底是什么?
Pod IP 的本质与特性 Pod IP 的定位 纯端点地址:Pod IP 是分配给 Pod 网络命名空间的真实 IP 地址(如 10.244.1.2)无特殊名称:在 Kubernetes 中,它通常被称为 “Pod IP” 或 “容器 IP”生命周期:与 Pod …...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...
【FTP】ftp文件传输会丢包吗?批量几百个文件传输,有一些文件没有传输完整,如何解决?
FTP(File Transfer Protocol)本身是一个基于 TCP 的协议,理论上不会丢包。但 FTP 文件传输过程中仍可能出现文件不完整、丢失或损坏的情况,主要原因包括: ✅ 一、FTP传输可能“丢包”或文件不完整的原因 原因描述网络…...