C에서 타입 안전한 제네릭 자료구조 만드는 방법

Key Point
C에서 제네릭과 타입 안전성을 동시에 달성하는 실용적인 패턴을 제시해, 저수준 시스템 프로그래밍에서 코드 안정성을 크게 높일 수 있다.
핵심 요약
- C에서 union을 사용해 타입 정보를 제네릭 자료구조와 연결함으로써 타입 안전한 제네릭 구현이 가능하다.
- 기존의 매크로 반복 포함 방식은 제네릭이지만 코드 중복을 야기하고, void * 포인터 사용은 타입 안전성을 잃는다.
- Flexible Array Member를 활용하면 노드와 데이터를 단일 메모리 할당으로 통합해 캐시 미스를 줄일 수 있다.