gpt4 book ai didi

c - 将地址传递给 C 中的函数

转载 作者:太空狗 更新时间:2023-10-29 15:49:29 26 4
gpt4 key购买 nike

我是 C 的新手,我有一个计算一些变量的函数。但现在让我们简化一下。我想要的是有一个“返回”多个变量的函数。虽然据我所知,你只能在 C 中返回一个变量。所以我被告知你可以传递一个变量的地址并那样做。这就是我的进展,我想知道我能帮上忙。我在 C90 禁止的内容等方面遇到了一些错误。我几乎可以肯定这是我的语法。

假设这是我的主要功能:

void func(int*, int*);

int main()
{
int x, y;
func(&x, &y);

printf("Value of x is: %d\n", x);
printf("Value of y is: %d\n", y);

return 0;
}

void func(int* x, int* y)
{
x = 5;
y = 5;
}

这基本上就是我正在使用的结构。谁能帮我一下?

最佳答案

您应该使用*variable 来引用指针指向的内容:

*x = 5;
*y = 5;

你目前正在做的是将指针设置为地址 5。你可能会摆脱蹩脚的旧编译器,但一个好的编译器会在将 int 分配给 时检测到类型不匹配>int* 变量,如果没有显式转换,将不允许您这样做。

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

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