typedef struct pointer in c