通过多个函数引用传递

2024-01-02

大家好。我正在为学校开发一个项目,我需要通过多个函数通过引用传递一些参数。我了解如何通过引用从声明变量的位置传递到另一个函数,如下所示:

main() {
  int x = 0;
  int y = 0;
  int z = 0;

  foo_function(&x, &y, &z);
}

int foo_function(int* x, int* y, int* z) {
  *x = *y * *z;
  return 0;
}

但是,如何将 x、y 和 z 从 foo 函数传递到另一个函数?像这样的事情给了我各种编译器警告。

int foo_function(int* x,  int* y, int* z) {
  *x = *y * *z;
  bar(&x, &y, &z);
  return 0;
}

int bar(int* x, int* y, int* z) {
  //some stuff
}

只需使用:

bar(x, y, z);

X、Y 和 Z 已经是指针 - 只需直接传递它们即可。

请记住 - 指针是内存中的一个位置。位置不变。当您取消引用指针(使用 *x = ...)时,您正在该位置设置值。但是,当您将其传递给函数时,您只是传递内存中的位置。您可以将同一位置传递给另一个函数,并且效果很好。

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

通过多个函数引用传递 的相关文章

随机推荐

  • 为了学习目的,Erlang 有哪些有趣的项目可以解决? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近发现了 Erlang 现在正在学习几个教程 到目前为止 我期待着将一些东西作为一个业余爱好项目来实际实施 我对另一个聊天服务器并不真正感兴
  • NetBeans 安装程序未正确找到 Java

    我正在尝试安装 NetBeans 全部 包 并且我很确定我已经安装了 Java SE 开发工具包 但是它没有正确定位它 它出现了错误 Java SE Development Kit JDK was not found on this com
  • 如何仅使用 javascript 将页面高度增加 X 像素

    假设一个 HTML 页面 html content outside of our control javascript block some more html content outside of our control 进一步假设我们能
  • Google 地方信息返回错误的城市

    我正在使用 google autocomplete Places API 构建一个应用程序 如果我对地址 Pongal New York NY United States 使用预测建议 我会在返回地点对象中得到以下项目 地区 曼哈顿 Adm
  • 如何将 numpy 数组转换为 mp3 文件

    我正在使用声卡库来记录我的麦克风输入 它记录在 NumPy 数组中 我想抓取该音频并将其保存为 mp3 文件 Code import soundcard as sc import numpy import threading speaker
  • 像 Exposé 中那样放置框

    有谁知道如何找到最适合特定区域的矩形 矩形可以放大到一定限度 但它们应该保持其比例 我基本上想重建 Mac OS 的 Expos Picture http switchtoamac com guides images expose all
  • 如何解决现有文件和符号链接之间的 npm install 冲突?

    我遇到了一个问题NPM https www npmjs com 它似乎正在检测具有相同名称的现有文件和符号链接之间的冲突 运行时我没有看到任何符号链接ls l从我的项目的根文件夹 我如何弄清楚 NPM 发生了什么并解决这个冲突 持续集成构建
  • 如何区分两棵树以确定父母的变化?

    我有一个树结构 需要重新排列 拖放 然后提交更改 捕捉变化的最佳方式是什么 据我所知 有两种方法 存储每个更改命令 提交更改列表 然后执行每个更改命令 序列化树 然后将新树与旧树进行比较以找出更改的内容 然后执行更改 1 似乎最容易实现 尽
  • 更新后 SQL Server 错误:提供给函数的令牌无效

    我正在使用我的机器 和 SSMS 一切正常 我重新启动后 Windows 10 应用了以下更新 Windows Malicious Software Removal Tool for Windows 8 8 1 10 and Windows
  • 在networkx中按权重对边缘进行着色

    我在这里只找到了与我想要的类似的东西 根据权重对网络边缘进行着色 https stackoverflow com questions 17632151 coloring networkx edges based on weight 但是我似
  • 在 PHP 中传递带有参数的回调

    我有一个 PHP 库函数 需要一个不带参数的回调 我知道我可以传递对象的方法array this my function name 但我怎样才能给参数my function name 我找到了一个解决方案 使用create function
  • gulp watch 立即终止

    我有一个非常小的 gulpfile 如下 注册了一个监视任务 var gulp require gulp var jshint require gulp jshint gulp task lint function gulp src app
  • AVAudioPlayer 和 AVAudioRecorder:未调用委托方法

    我的委托方法audioRecorderDidFinishRecording and audioPlayerDidFinishPlaying没有被调用 这些方法应该触发 stopanimation 方法 该方法在录制完成后停止动画 我已拨打电
  • 使用 UNREFERENCED_PARAMETER 宏

    我在 Visual Studio 上使用 W4 警告级别 并且正在编写 Windows 程序 int WINAPI WinMain HINSTANCE hInstance HINSTANCE hPrevInstance LPSTR lpCm
  • RESTful webservice +JSON+SQL 存储过程项目的问题

    我知道我确实想念一些东西 我的整个项目在某种程度上是各种 如何 的复制和粘贴 我的 C 知识充其量只是基础知识 我需要让它工作 因为我们的标准 Web 服务软件仅在发送时才是 RESTful 我的主要问题是 我偶然发现的所有解决方案实际上都
  • 在 C# 中合并具有相似键但不同值的字典

    考虑以下字典 Dictionary
  • Tinymce编辑器图片上传插件添加完整图片URL

    我正在为tinymce编辑器使用名为justboil com的图像上传器插件 它说得很好 并上传图像来显示它们 但我希望它能够将完整的网址添加到图像的路径中 例如 http www domain com upload img img1 jp
  • python 转换编码:LookupError:未知编码:ansi

    因为我的 cdv 文件编码为utf 8 用Excel打开会出现失真 然后我再转成标准的时候ANSI编码 我收到此错误 code import chardet def convertEncoding from encode to encode
  • 何时在 UI 应用程序中调用 SynchronizationContext.SetSynchronizationContext()?

    我正在学习有关SynchronizationContext班级 我试图了解调用的常见使用场景有哪些SynchronizationContext SetSynchronizationContext 在 WinForm WPF 应用程序的上下文
  • 通过多个函数引用传递

    大家好 我正在为学校开发一个项目 我需要通过多个函数通过引用传递一些参数 我了解如何通过引用从声明变量的位置传递到另一个函数 如下所示 main int x 0 int y 0 int z 0 foo function x y z int