将地址传递给C中的函数

Ami*_*mit 3 c pointers function memory-address

我是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;
}
Run Code Online (Sandbox Code Playgroud)

这基本上就是我正在使用的结构.有人能帮我一把吗?

Meh*_*ari 9

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

*x = 5;
*y = 5;
Run Code Online (Sandbox Code Playgroud)

目前,什么你正在做的是设置指针,以解决5.你可以逃脱蹩脚的老编译器,但一个好的编译器会检测到类型不匹配的分配的int一个int*变量,不会让你做到这一点没有明确的转换.