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号线有什么区别?前者编译,后者不编译,但即使第一个编译我也不确定它是否符合我的要求。
答案 0 :(得分:3)
foo->bar
=结构变量bar
中变量foo
包含的值。
&foo->bar
=结构变量bar
中变量foo
的地址。
请参阅此operator precedence table。
gettimeofday()
需要struct timeval *
类型的第一个参数。所以gettimeofday(mydata->before, NULL);
无法编译。