gpt4 book ai didi

c - C函数中的参数传递

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:16 26 4
gpt4 key购买 nike

我有一个用C写的函数

FindBeginKey(KeyListTraverser, BeginPage, BeginKey, key1);

BeginKey是函数调用前的指针,我没有初始化,比如

BeginKey = NULL;

FindBeginKey()函数中,我将BeginKey赋值给另一个指针,并尝试打印出BeginKey的当前地址功能,它工作正常。但是当代码从函数返回时,我尝试再次打印出 BeginKey 的地址,它显示 0x0

为什么会这样,如果我想保留函数中赋值的地址,怎么办?

最佳答案

要从函数中传递一个值,您必须按引用 传递,而不是像 C 函数通常那样按值。要做到这一点,请使参数成为指向您要传递的类型的指针。然后使用 &(地址操作数)将该值传递给调用。

例如

FindFoo(FOO** BeginKey);

并调用它:

FindFoo(&BeginKey);

在函数中:

*BeginKey = 0xDEADC0DE;

关于c - C函数中的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14923948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com