c typedef struct constructor