C 언어는 현재 프로그래밍 언어 중에 가장 많이 사용되고 있는 언어 3위 안에 들어가는 언어이다. 고급 프로그래밍 언어이며, C 계열 언어의 문법 구조의 기초가 되는 언어이다. 창시자는 데니스 리치.

1 역사

C 언어는 유닉스 운영체제의 이식성을 높이기 위해 만들어졌다. 전체적인 특징이나 언어 이름은 동료인 켄 톰슨의 B 언어에서 유래되었다.

초기 개발은 1969년에 시작되어 1973년까지 진행되었다. 이렇게 만들어진 C 언어의 초기 버전은 K&R C 언어로 불리는데, 데니스 리치와 브라이언 커니핸이 집필한 서적인 The C Programming Language라는 책에서 유래되었다.

미국 국가 표준 협회에서 C 언어를 ANSI 표준으로 등록하면서 이후 버전은 ANSI C라고 불린다. ANSI C 표준이 재정되면서 데니스 리치와 브라이언 커니핸의 The C Programming Language도 2판이 출판되었다.

ANSI C 표준 재정 이후 오랫동안 새 표준이 재정되지 않다가, 1990년도에 몇 번의 수정안이 출판되다가 1999년에 C99 표준이 재정되었다.

이후 2011년에 C11 표준이 재정되었다.

2 특징

어셈블리 언어와 가까운 고급 프로그래밍 언어라는 말을 들을 정도로 고급 프로그래밍 언어의 특징인 생산성과 가독성을 유지하면서도 저급 프로그래밍 언어의 특징인 빠른 실행 속도와 자유도를 가진다.

컴파일러에 따라 다르지만 대체로 인라인 어셈블리 기능을 제공하는 경우가 많다. 이로 인해 고급 프로그래밍 언어 코드 내에 저급 프로그래밍 언어 코드가 들어가 있는 경우도 종종 볼 수 있다.

C 언어의 가장 큰 특징은 포인터 문법. 저급 프로그래밍 언어의 특징인 포인터 문법이 존재하는 몇 안 되는 고급 프로그래밍 언어이다.

문법이 매우 자유로워서 사람에 따라 코드 스타일이 모두 제각각이다. 때문에 개발에 앞서서 다른 언어들에 비해 코딩 스타일을 좀 더 세세하게 잡는 편이다.

3 컴파일러의 종류

4 파생 언어