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)
这基本上就是我正在使用的结构.有人能帮我一把吗?
您应该*variable
用来指代指针指向的内容:
*x = 5;
*y = 5;
Run Code Online (Sandbox Code Playgroud)
目前,什么你正在做的是设置指针,以解决5.你可以逃脱蹩脚的老编译器,但一个好的编译器会检测到类型不匹配的分配的int
一个int*
变量,不会让你做到这一点没有明确的转换.