0
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有什麼區別?
['gettimeofday'](http://linux.die.net/man/2/gettimeofday)需要一個'struct timeval *'作爲第一個參數,這是否給你一個線索是什麼區別? – Praetorian
我的印象是,&返回指針所指向的變量的地址。我不明白你如何取消引用地址。 –
將運算符('&')的地址應用於類型'T'將返回一個類型爲'T *'的值,其中包含您應用'&'的對象的地址。該值通常用於初始化/分配相同類型的指針變量。只要它指向一個有效的對象,您就可以取消引用該值。 – Praetorian