안경잡이개발자

728x90
반응형

C언어의 개요

나동빈(안경잡이개발자)


C언어의 역사


C언어는 유닉스(UNIX) 운영체제를 만들기 위해 처음으로 개발되었습니다. C언어의 창시자는 미국 Bell 연구소의 데니스 리치(Dnnis Ritchie)이며 1978년에 <The C Programming Language>라는 책을 출간했습니다. 이후에 1983년 ANSI 표준 C가 발표되면서 그 구체적인 틀이 잡히게 되었습니다. 이러한 C언어는 최근에 가장 많이 사용되고 있는 Java, C# 등 고급 언어의 원형입니다. 특히 C언어의 문법을 포함하면서 다양한 라이브러리 및 객체 지향 기술을 지원하는 C++도 매력적인 언어 중 하나입니다.


C언어의 개념


프로그램(Program)컴퓨터가 처리할 작업 처리 절차를 의미하며 프로그래밍이란 프로그램을 만드는 행위입니다. 그러한 의미에서 프로그래밍 언어컴퓨터와 의사소통하기 위해 사용하는 언어라고 할 수 있습니다. 프로그래밍 언어로 가장 대표적인 것이 C언어이며 처음 프로그래밍을 입문할 때 가장 많이 접하는 언어이기도 합니다. 더불어 실무에서도 굉장히 많이 사용됩니다. (특히 나중에 시스템 해킹이나 게임 해킹 등을 공부하실 때 C를 모르면 아무것도 분석할 수 없습니다. 알고리즘 대회도 C++이 가장 많이 사용된다는 점을 기억하세요.)


C언어의 특징


1. 다양한 운영체제의 기반이 되는 언어이다.

  → 다시 말해 C를 할 수 있으면 운영체제를 만들 수도 있습니다.


2. 구조적 프로그래밍 언어로 모듈식 구현이 용이하다.

  → 그렇다면 C언어로 객체 지향 프로그래밍을 못 할까요? 원리적으로 불가능한 것은 아닙니다. 구조적 프로그래밍에 적합하다는 것 뿐이지 C언어로 객체 지향 프로그래밍 언어 자체를 개발할만큼 강력합니다.


3. 함수의 집합으로 구성된 함수형 언어입니다.

  → C 프로그램은 main() 함수부터 시작해 다양한 함수를 반복적으로 불러와 실행하고 종료됩니다.


4. 시스템간 호환 및 이식성이 좋다.

  → C언어는 세계적으로 컴퓨터 시스템의 주축이므로 당연한 소리겠지요?


5. 동적메모리 관리 및 하드웨어 제어에 유리하다.

  → C언어는 컴퓨터 메모리에 직접 접근이 가능한 강력한 언어입니다.


6. 고급 및 저급 언어간 인터페이스가 용이하다.

  → 나중에 리버싱 및 보안을 공부하실 때 어셈블리어를 뜯어보시고 이해해보세요.


7. 비트 및 증감연산자 등 풍부한 연산자를 지원한다.

  → 덕분에 비트마스크 기법 및 다양한 숏코딩이 가능합니다.

728x90
반응형