How to access the fields of a timeval structure

c, linux

Solution

Because `cur` is a pointer. Use

struct timeval cur;
do_gettimeofday(&cur);

In Linux, `do_gettimeofday()` requires that the user pre-allocate the space. Do NOT just pass a pointer that is not pointing to anything! You could use `malloc()`, but your best bet is just to pass the address of something on the stack.

Problem

I'm trying to print the values in a `struct timeval` variable as follows: ``` 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; } ``` I keep getting this error: ``` request for member 'tv_sec' in something not a structure or union. request for member 'tv_usec' in something not a structure or union. ``` How can I fix this?

Original source