typedef union TKey { struct { TValuefields; struct Node *next; /* for chaining */ } nk; TValue tvk; } TKey; I found this is a union just now. I got it! Thank you very much!