C언어의 제네릭 컨테이너: vec 구현

2025-07-26

이 글에서는 C언어에서 형식 안전하고 경계 검사가 가능한 제네릭 컨테이너인 'vec'의 구현에 대해 자세히 설명합니다. vec는 기본적으로 realloc을 사용하여 동적으로 크기가 조정 가능한 배열입니다. vec_push 함수 구현 및 메모리 할당 오류 처리 방법 등 구현 세부 사항을 설명하고, 성능 향상을 위한 개선된 인터페이스인 vec_push_cap 및 vec_push_auto에 대해서도 논의합니다. 또한 vec2array 매크로를 사용한 기존 C 배열과의 상호 운용성에 대해서도 설명합니다.