1971년 데니스 리치에 의해 개발이 시작
개발된 목적은 UNIX 운영체제를 만들기 위함
특징
-코드가 간결하다(?)
-강력하다
-개발효율이 높다(?)
-C언어를 사용하면 운영체제를 비롯하여 다른 컴파일러까지 개발 할 수 있다.
-C언어는 이식성이 높은 언어이다.
이식성이 높다는 것은 UNIX 운영체제에서 개발된 프로그램을 거의 고치지 않고, 윈도우 운영체제 등에서 사용할 수 있다는 것입니다.
-함수를 사용하여 구조적인 프로그래밍을 할 수 있다, 프로그램의 특성에 따라 모듈화를 할 수 있다.
-하드웨어 관련 프로그래밍이 쉽다.(임베디드, 펌웨어)
-범용성이 뒤어나다.
C언어는 UNIX 운영체제의 근본이 되는 언어이다. 현재 UNIX 운영 체제의 90% 이상이 C언어로 작성되어 있으며, UNIX와 C언어는 매우 밀접한 관계가 있다.
영어 소문자를 기본으로 설계된 언어이다. 소문자로 작성된 프로그램은 읽기가 쉽다. UNIX에서는 변수명이 소문자, 대문자가 구별되지만 DOS에서는 구분없이 사용된다.
함수 정의문들의 집합으로 구성되어 있는 함수형 언어이다.
시스템간에 호환성이 매우 높아 이식성이 좋으며, 구조적 프로그래밍 및 모듈식 설계가 용이하다.
C언어는 규모가 작은 언어이다. C 언어는 다른 언어에 비해 키워드(keyword)가 매우 적다. 키워드의 수가 적은 반면 세련된 제어 구조와 자료형을 제공함으로써 의미상의 사용에 거의 제약을 받지 않도록 하였다.
C언어는 강력하고 융통성이 있다. 가장 널리 이용되는 운영체제 중의 하나인 UNIX 시스템의 대부분이 C언어로 구현되어 있으므로 UNIX 시스템을 기반으로 하는 컴퓨터에서는 기타 다른 언어의 실행을 C언어로 할 수 있다. 또한 C언어는 물리학이나 공학 분야 프로그램에서 컴퓨터 게임 또는 영화와 같은 프로그램에 이르기까지 다방면에 걸쳐 이용된다.
고급언어, 저급언어와 접속(interface)이 쉽다. C언어는 운영체제 등을 개발하는데 유용하여 시스템 프로그래밍용 언어라고 불리지만, 특정 운영체제나 컴퓨터의 기종에 구애받지 않으며 수치계산이나 텍스트 처리 및 데이터베이스 프로그램 작성 등에도 용이하게 사용되므로 범용언어로서의 기능에도 손색이 없다. 또 고급언어인 포트란(FORTRAN)이나 코볼(COBOL)과 접속(Interface)하여 하나의 프로그램을 만들기 쉽고, 저급 언어인 어셈블리 언어와도 접속하여 하나의 프로그램으로 만들기 쉽다.
비트 연산, 증감 연산자와 같은 풍부한 연산자를 지원한다.
포인터(pointer)를 이용한 주소 계산이 용이하다.
입,출력 기능이 없다.
동적인 메모리 관리가 용이하다. 필요한때 메모리를 확장하여 사용하고, 필요하지 않을 경우 메모리 할당을 취소하여 다른 곳에서 메모리 영역을 사용할 수 있게 한다.
'Programming > C&C++' 카테고리의 다른 글
[C++] std::list unique (0) | 2017.06.26 |
---|---|
[C++] c++ dll 클래스를 c#에서 사용하려면? (0) | 2017.06.22 |
[C++] c++ dll 작성시 CString 을 매개변수로 해서 c#에서 사용해도될까? (0) | 2017.06.22 |
[펌] C와 C++ 비교 (0) | 2014.11.29 |
[C언어] typedef struct (0) | 2014.11.29 |