gpt4 book ai didi

使用指针在函数内调用函数 - C

转载 作者:太空宇宙 更新时间:2023-11-04 08:09:29 25 4
gpt4 key购买 nike

我有一个接受两个指针参数的函数。让我们说这是

void add(u16 *x, u16 *y)

我还有另一个接受三个指针参数的函数。

void fact(u16 *a, u16 *b, u16 *c){
if(*c > 500){
add(*a,*b); // Is this correct?
}
}

如果满足 fact 中的某个条件,我想将参数 a 和 b 传递给函数 add,但我想通过引用而不是值传递它们。我到底该怎么做?调用函数时,a、b、c、x 和 y 都是从“main”使用“&x”传递下来的。

所以我希望一切都通过引用传递下去,这样任何值的修改都会返回到 main。

非常感谢!

最佳答案

add(*a,*b); // Is this correct?

不,这是不正确的。

假设原型(prototype)是 void add(u16 *x, u16 *y),那么调用函数应该调用类型匹配的参数。在fact()中,ab已经是指针,所以正确的代码应该是这样的:

void fact(u16 *a, u16 *b, u16 *c){
if(*c > 500){
add(a,b); // this is correct
}
}

关于使用指针在函数内调用函数 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40558297/

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