C언어의 역사와 특징
1. C언어의 역사
- 1970년대 초 벨 연구소의 데니스 리치(Dennis Ritchie)에 의해 개발됨
- 당시 어셈블리어로 새로 개발된 운영체제인 유닉스(UNIX)가 인기, 어셈블리어로 작성되어 있어서 성능은 좋지만, 기계에 종속적이어서 다른 시스템으로의 이식성이 떨어졌음
- 이식성에 대한 문제 때문에 편리한 새로운 언어가 필요 -> 기존의 B 언어를 바탕으로 발전시켜 C 언어 만듦
- C언어는 고급 언어임에도 불구하고 어셈블리어와 같은 저급 언어처럼 빠른 속도와 높은 이식성을 제공함
- C언어의 도움으로 유닉스는 여러 시스템에 이식될 수 있었고, 유닉스와 더불어 C언어도 높은 인기를 얻게 되었음
2. 표준 C언어
- C언어가 널리 발전하면서 다양한 종류의 C언어 컴파일러가 등장하게 됨
- 서로 다른 문법을 지원하면서 세계적인 표준 C언어 문법의 필요성이 느껴짐
- 1983년에 C언어의 표준화를 위한 위원회가 조직됨
- 1989년에 C언어의 미국 표준인 C89 발표
- 국제 표준화 기구인 ISO에 의해 국제적인 표준인 C90이 발표됨 (*C89와 C90은 거의 같음)
- 1995년 비영어권에서 사용하기 불편했기 때문에 C90을 보완한 C95를 발표
- 이후 C99와 C11 발표, 현재 최신 표준은 2011년에 발표된 C11
- C89가 제정되기 이전의 C언어를 '전통 C(traditional C)'라고 부름
- 대부분의 컴파일러는 C90을 준수함
3. C언어의 특징
- 이식성 문제로 개발했기 때문에 이식성이 뛰어남
- 고급 언어이지만 기계어에 가까운 효율을 낼 수 있음
- 포인터(pointer)를 이용하여 메모리를 직접 제어할 수 있음
- 자주 쓰이는 기능을 모은 표준 라이브러리(standard library)를 제공함
* 출처 : C언어의 정석, 남궁 성 지음, 도우출판
'Programming > C언어' 카테고리의 다른 글
[C언어] 한글 이름 출력, 개행(줄바꿈 문자) (0) | 2016.12.08 |
---|---|
[C언어] Hello World! (0) | 2016.12.08 |
[C언어] 구구단 출력하기 (0) | 2016.08.03 |
[C언어] 무한 반복하는 사칙연산 계산기 (2) | 2016.08.02 |
전형적인 C프로그램 소스 코드 (0) | 2016.08.01 |