โดยทั่วไป struct ใช้เพื่อกำหนดโครงสร้าง แต่เมื่อเราต้องการใช้ เราต้องใช้คีย์เวิร์ด struct ใน C หากเราใช้คีย์เวิร์ด typedef แล้วเป็นชื่อใหม่ เราสามารถใช้ struct ตามชื่อนั้นได้โดยไม่ต้องเขียนคีย์เวิร์ด struct
ใน C ++ ไม่มีความแตกต่างระหว่าง 'struct' และ 'typedef struct' เพราะใน C ++ การประกาศ struct/union/enum/class ทั้งหมดจะทำหน้าที่เหมือนเป็น typedef'ed โดยปริยาย ตราบใดที่ชื่อไม่ได้ถูกซ่อนไว้โดยการประกาศอื่น ที่มีชื่อเดียวกัน
แม้ว่าจะมีความแตกต่างเล็กน้อยที่ typedefs ไม่สามารถส่งต่อได้ ดังนั้นสำหรับตัวเลือก typedef คุณต้องรวมไฟล์ที่มี typedef ก่อนจึงจะนำไปใช้ที่ใดก็ได้