如何访问时间结构的字段

Gab*_*abe 4 c linux

我正在尝试在struct timeval变量中打印值,如下所示:

int main()  
{  

    struct timeval *cur;  
    do_gettimeofday(cur);  
    printf("Here is the time of day: %ld %ld", cur.tv_sec, cur.tv_usec);  

    return 0;  
}  
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误:

request for member 'tv_sec' in something not a structure or union.  
request for member 'tv_usec' in something not a structure or union.

我怎样才能解决这个问题?

chr*_*ock 7

因为cur是一个指针.使用

struct timeval cur;
do_gettimeofday(&cur);
Run Code Online (Sandbox Code Playgroud)

在Linux中,do_gettimeofday()要求用户预先分配空间.不要只是传递一个没有指向任何东西的指针!你可以使用malloc(),但最好的办法就是传递堆栈中某些东西的地址.