WIPIVERSE

C11 (C 표준 개정판)

개요

C11은 ISO/IEC 9899:2011 표준 번호를 갖는 C 프로그래밍 언어의 공식적인 개정판이다. 이전 버전인 C99(ISO/IEC 9899:1999)를 계승하면서, 언어 자체와 표준 라이브러리에 여러 기능을 추가·수정하였다. 공식 출판은 2011년 12월에 이루어졌다.

주요 변경 및 추가 기능

  1. 다중 스레드 지원

    • <threads.h> 헤더를 통해 표준화된 스레드, 뮤텍스, 조건 변수 등 기본 동시성 제어 기능을 제공한다.
    • atomic 타입과 관련 연산을 지원하는 <stdatomic.h>가 추가되어 원자성 연산을 표준화하였다.
  2. 일반화된 초기화

    • 복합 리터럴과 디자인ated 초기자를 이용한 구조체·배열 초기화가 보다 유연하게 확대되었다.
  3. 정적 분석을 위한 어노테이션

    • _Static_assert 가 도입되어 컴파일 시점에 조건 검증을 수행할 수 있다.
  4. Unicode 문자 처리

    • <uchar.h> 헤더를 통해 UTF‑16, UTF‑32 문자 타입(char16_t, char32_t)과 관련 함수가 제공된다.
  5. 기타 개선

    • 가변 인자 매크로(##__VA_ARGS__)의 표준화, aligned_alloc 함수 추가, restrict 키워드의 활용 확대 등.

채택 및 구현 현황

ISO/IEC 9899:2011 표준은 주요 컴파일러(예: GCC, Clang, MSVC, Intel C Compiler)에서 옵션을 통해 지원한다. 일부 구현은 완전한 C11 지원보다 핵심 기능만 선택적으로 제공하기도 한다.

표준 문서

  • 공식 명칭: ISO/IEC 9899:2011 – Programming languages — C
  • 발행 기관: 국제 표준화 기구(ISO)와 국제 전기기술 위원회(IEC)

참고

C11은 C17(ISO/IEC 9899:2018)로 이어지는 표준화 흐름의 중간 단계이며, 이후 표준에서는 버그 수정 및 일부 기능 개선이 이루어졌다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기