gpt4 book ai didi

c - foo->bar 和 &foo->bar 有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:48 26 4
gpt4 key购买 nike

1. struct thread_args 
{
2. int thread_id;
3. struct timeval before;
4. struct timeval after;
}

5. void * foobar(void *threadargs)
{
6. struct * mydata;
7. mydata = (struct thread_args *) threadargs;

8. gettimeofday(&mydata->before, NULL);
9. gettimeofday(mydata->before, NULL);
}

...

第 8 行和第 9 行有什么区别?前者编译,后者不编译,但即使第一个编译,我也不确定它是否按照我的要求进行。

最佳答案

foo->bar = 结构变量 foo 中的变量 bar 包含的值。

&foo->bar = 结构变量 foo 中变量 bar 的地址。

查看此 operator precedence table .

gettimeofday()需要 struct timeval * 类型的第一个参数。所以 gettimeofday(mydata->before, NULL); 不编译。

关于c - foo->bar 和 &foo->bar 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234405/

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