gpt4 book ai didi

c - 在 C 中使用按引用传递的结构变量

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:04 24 4
gpt4 key购买 nike

我有一个基本的指针问题。我有一些这样的代码:如果以下代码有任何错误,请告诉我:

struct abc {
int a;
int b;
};

void func2(int*); // defined elsewhere

void func1 (struct abc *p1)
{
struct abc var1 = *p1; // ======> Can I do this ?

func2(&var1.b);
func2(&p1->b); // =========> Which of these 2 is right ?
}

最佳答案

struct abc var1 = *p1; ======> Can I do this ?

是的,这会将 p1 指向的结构复制到局部变量 var1 中。

func2(&var1.b); func2(&p1->b); =========> Which of these 2 is right ?

两者,如果 func2() 接受一个 int* 作为参数。这取决于您是否希望 func2 修改 p1->bvar1.b

关于c - 在 C 中使用按引用传递的结构变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7165125/

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