gpt4 book ai didi

c - 在 C 中传递地址

转载 作者:行者123 更新时间:2023-11-30 18:20:02 25 4
gpt4 key购买 nike

我是 C 新手,在指针方面遇到了一些问题。我想将指针地址传递给另一个函数,然后将该函数中的地址传递给第三个函数。这是一个例子:

typedef struct
{
int x;
int y;
} Coordinate;

int main()
{
Coordinate location;
functA(&location);
printf("Value of x: %d\n", location.x); //prints 10
printf("Value of y: %d\n", location.y); //prints 20
}

void functA(Coordinate *location)
{
location->x = 10;
location->y = 20;
}

这是我当前代码的简化部分。可以说我想要 functA调用另一个将结构中的值减少一半的函数,我尝试这样做,但它似乎不起作用,

void functA(Coordinate *location) 
{
location->x = 10;
location->y = 20;
functB(&location);
}

void functB(Coordinate *location)
{
location->x = location->x/2;
location->y = location->y/2;
}

输出仍然是x = 10 ,和y = 20当我希望它是5时和10 .

我可以寻求帮助吗?

最佳答案

您已经收到了指向该结构的指针,无需再次使用 & 操作数。所以它应该只是 functB(location);

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

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