c typedef struct pointer to itself