当指向结构的双指针是函数的参数时,为什么我们使用“&(*”语句?

2024-03-18

void instert(NODE**root, int value)
{
    ...
    insert(&(*root)->left,value);
    ...
}

void search(NODE*root, int value)
{
    ...
    search(root->left, value);
    ...
}

为什么我们在这里使用“&”:insert(&(*root)->left,value); 但我们这里不使用“&”:search(root->left, value);


表达方式:

*root->left

相当于:

*(root->left)

由于运算符优先级。

所以你需要:

(*root)->left

如果你想要left成员那个*root指着。

进而:

&(*root)->left

是指针指向left成员*root,则其类型为NODE **,什么insert功能需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当指向结构的双指针是函数的参数时,为什么我们使用“&(*”语句? 的相关文章

  • Windows 10 Mobile (10.0.14393) 地理围栏后台任务 (LocationTrigger)

    自从10 0 14393 周年纪念更新 LocationTrigger似乎不起作用 我有 Windows Phone 8 1 应用程序 也适用于 UWP 应用程序 输出到的便携式库Windows Runtime Component图书馆 w
  • 通过增加索引之和来生成排序组合的有效方法

    对于启发式算法 我需要一个接一个地评估特定集合的组合 直到达到停止标准 由于它们很多 目前我正在使用以下内存高效迭代器块生成它们 受到 python 的启发 itertools combinations http docs python o
  • 将字节数组转换为托管结构

    更新 这个问题的答案帮助我编写了开源项目GitHub 上的 AlicanC 现代战争 2 工具 https github com AlicanC AlicanC s Modern Warfare 2 Tool 你可以看到我是如何阅读这些数据
  • C 程序从连接到系统的 USB 设备读取数据

    我正在尝试从连接到系统 USB 端口的 USB 设备 例如随身碟 获取数据 在这里 我可以打开设备文件并读取一些随机原始数据 但我想获取像 minicom teraterm 这样的数据 请让我知道我可以使用哪些方法和库来成功完成此操作以及如
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • 选择列表逻辑应位于 ASP.NET MVC、视图、模型或控制器中的什么位置?

    我觉得我的问题与这个问题很接近 但我想对这样的代码应该放在哪里进行更一般的讨论 Asp Net MVC SelectList 重构问题 https stackoverflow com questions 2149855 asp net mv
  • 从 C 结构生成 C# 结构

    我有几十个 C 结构 我需要在 C 中使用它们 典型的 C 结构如下所示 typedef struct UM EVENT ULONG32 Id ULONG32 Orgin ULONG32 OperationType ULONG32 Size
  • mprotect 之后 malloc 导致分段错误

    在使用 mprotect 保护内存区域后第一次调用 malloc 时 我遇到分段错误 这是执行内存分配和保护的代码片段 define PAGESIZE 4096 void paalloc int size Allocates and ali
  • 如何使用MySqlCommand和prepare语句进行多行插入?(#C)

    Mysql 给出了如何使用准备语句和 NET 插入行的示例 http dev mysql com doc refman 5 5 en connector net programming prepared html http dev mysq
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 从成员函数指针类型生成函子

    我正在尝试简化 通过make fn 预处理参数的函子的生成 通过wrap 对于 arity 的成员函数n 生成函子基本上可以工作 但到目前为止只能通过显式指定成员函数的参数类型来实现 现在我想从它处理的成员函数类型生成正确的函子 struc
  • C++ 插件的“最适合”动态类型匹配

    我有一个几乎所有东西都是插件的架构 该架构以图形用户界面为基础 其中每个插件都由一个 表面 即用户可以通过其与插件交互的 UI 控件 表示 这些表面也是插件 每当添加新插件时 瘦主机都会自动确定哪个可用表面与其最匹配的 UI 如何在 C 中
  • C++ 错误 - “成员初始值设定项表达式列表被视为复合表达式”

    我收到一个我不熟悉的 C 编译器错误 可能是一个非常愚蠢的错误 但我不能完全指出它 Error test cpp 27 error member initializer expression list treated as compound
  • DataTable:通过 LINQ 或 LAMBDA 进行动态 Group By 表达式

    我有一个数据表 我想在其中对未指定数量的字段进行分组 发生这种情况的原因是用户可以选择他想要分组的字段 所以 实际上 我将选择推入列表中 在这个选择上 我必须对我的数据表进行分组 想象一下这段代码 VB 或 C 都一样 public voi
  • C 中带有指针的结构的内存开销[重复]

    这个问题在这里已经有答案了 我意识到当我的结构包含指针时 它们会产生内存开销 这里有一个例子 typedef struct int num1 int num2 myStruct1 typedef struct int p int num2
  • C语言声明数组没有初始大小

    编写一个程序来操纵温度详细信息 如下所示 输入要计算的天数 主功能 输入摄氏度温度 输入功能 将温度从摄氏度转换为华氏度 独立功能 查找华氏度的平均温度 我怎样才能在没有数组初始大小的情况下制作这个程序 include
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne
  • 如何使用 C# 以低分辨率形式提供高分辨率图像

    尝试使用 300dpi tif 图像在网络上显示 目前 当用户上传图像时 我正在动态创建缩略图 如果创建的页面引用宽度为 500x500px 的高分辨率图像 我可以使用相同的功能即时转换为 gif jpg 吗 将创建的 jpg 的即将分辨率

随机推荐

  • WP7 - 水平滚动列表框的问题

    我需要一个水平滚动的列表框 并且我遵循了与此相关的其他几个问题提出的关于如何实现的建议 我目前所拥有的确实水平滚动 但在滑动结束时 它不会停留在我滚动到的位置 它会恢复到原始显示 有点像它的一块松紧带 在滑动后返回到其原始位置它被拉伸了 我
  • 使用dispatchEvent获得焦点事件

    当我触发一个focus事件与dispatchEvent在输入框上 其onfocus被调用 但在 UI 上输入框未获得焦点 这种行为有什么原因吗 var test document getElementById test test onfoc
  • 是否可以部分解码和更新 JSON? (去)

    我只需要解码和更新 json 对象的特定值 问题是我不知道该对象的完整结构 coding json 包 忽略 截断结构中未提供的字段 因此对这些字段进行编码会丢失 我想知道是否可以只解组我知道的结构 更新它 然后编组它 而不截断 删除未知的
  • 登录 Facebook 后如何重定向 url?

    我创建了一个 Django 应用程序 并通过 Facebook 连接到该应用程序 现在 当我单击 Facebook 登录按钮时 会弹出 oauth 页面 当我提供用户名和密码时 它会关闭 而不会实际将页面重定向到任何页面 但是当我在新选项卡
  • 如何避免graphviz中的重叠节点?

    我正在尝试绘制一个包含许多节点和边的图 然而 该图变得过于笨拙 节点和边重叠 我尝试了 未成功 以下所有方法或这些方法的组合 size 12 0 20 0 margin 0 0 len 1 0 我在用neato生成一个 png 文件 尺寸规
  • 删除一行后如何刷新jquery数据表

    数据表中的每一行都有一个删除按钮 单击删除按钮后 我将调用以下代码 deleteButton live click function var this this var url this attr id example fnReloadAj
  • 如何在 ASP.Net CreateUserWizard 中获取新注册用户的用户 ID?

    如何在 ASP Net CreateUserWizard 中获取新注册用户的用户 ID 我有一个页面允许新用户使用 创建用户向导 进行注册 创建用户后 我想使用新用户的用户 ID 和电子邮件在客户详细信息表中插入一行 我尝试在 Create
  • 如何使用 KivyMD 在 NavigationDrawer 内的屏幕之间切换

    我是使用 kivymd 的初学者 并尝试使用 KivyMD 在 NavigationDrawer 内的屏幕之间切换 我正在阅读一些文档并最终得到了这段代码 但它对我不起作用 from kivy lang import Builder fro
  • 可以在不使用 Heroku Toolbelt 的情况下部署 Rails 应用程序吗?如果是这样,怎么办?

    我想在不使用 Heroku ToolBelt 的情况下部署 Rails 应用程序 是否可以 如果是这样 怎么办 我只能使用 Heroku 仪表板 我不允许使用任何其他云服务 我必须运行 PostgreSQL 命令 添加附加组件并设置配置变量
  • firebase login:ci 是否可以访问我的所有项目?

    我正在使用firebase login ciCI CD 的代币 但没有足够的有关令牌的文档 它是否可以访问我的帐户有权访问的所有 Firebase 项目 还是只能访问当前活动的项目 我在哪里可以看到所有代币及其活动的列表 我想要的解决方案是
  • python read_fwf 错误:“python-fwf 解析器不支持 dtype”

    使用 python 2 7 5 和 pandas 0 12 0 我尝试使用 pd io parsers read fwf 将固定宽度字体文本文件导入到 DataFrame 中 我导入的值都是数字 但保留前导零很重要 因此我想将数据类型指定为
  • ORA-00979不是一个group by表达式

    我通过以下查询收到 ORA 00979 SELECT cr review sk cr cs sk cr full name tolist to char cf fact date mm dd yyyy appt cs cs id cr tr
  • 将标量和数组(任意维度)从 Fortran 传递到 C

    我有以下名为的 Fortran 子例程show value调用一个名为的 C 函数show value INTERFACE SUBROUTINE show value variable BIND C name show value USE
  • 使用 Google Closure Compiler 编译 jQuery

    有没有人针对 Google 新发布的版本编译过 jQueryClosure http code google com closure compiler 编译器 据报道 代码大小得到了巨大的节省 我很好奇如果用它来编译 jQuery 有什么好
  • 在 ASP.NET MVC 页面上使用实体框架更新数据库记录时出错

    我有一个 ASP NET 页面 可以更新选定记录的注册用户地址详细信息 下面是我从控制器调用的更新方法 当我打电话时ApplyPropertyChanges方法 我收到错误 使用实体框架更新记录时有人遇到同样的错误吗 感谢您的回复 错误信息
  • ASP.NET如何从公共静态方法调用clientscript

    我将在公共静态方法中使用以下 ClientScript 函数 VS2010 C 但它给了我一些错误 我想将它用于带有 parent 目标的响应重定向 ClientScript RegisterStartupScript GetType Lo
  • GameObject 不允许有多个孩子

    所以基本上我试图将一堆孩子添加到游戏对象中 父游戏对象被称为SnakeHead当所有其他游戏对象被调用时SnakeBodyParts public class GameController MonoBehaviour public Game
  • 64位CLR可以使用压缩指针吗?

    我读过一些关于一些 64 位 Java VM 实现中的压缩对象指针的内容 据我了解 其原理是将引用存储为从一个对象到另一个对象的相对 32 位地址偏移量 而不是完整的 64 位指针 以获取内存 我认为这种优化目前还没有应用于 NET CLR
  • PHP 中的“到处注销”是如何工作的?

    我刚刚发现 stackoverflow 有一个链接可以注销每台已登录的计算机 所以 我考虑了如何在 PHP 中实现相同的功能 我想出了使用 session set save haldner 来控制 write 方法 在 write 方法中
  • 当指向结构的双指针是函数的参数时,为什么我们使用“&(*”语句?

    void instert NODE root int value insert root gt left value void search NODE root int value search root gt left value 为什么