Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

소개

컴퓨팅 환경이 지금에 이르게 된 가장 결정적인 원인을 제공한 것은 C(:12)라는 언어의 출현이 될것이다. C언어 덕분에 지금의 현대적인 컴퓨팅 환경이 갖추어졌다고 해도 과언이 아니다.

1972년 Unix(:12) 운영체제를 위해서 만들어진 C언어는 거의 30년이 지난 지금까지도 가장 인기 있는 프로그래밍 언어중의 하나이다. 객체지향이 일반화 되고 Java(:12), python, C++(:12)등의 언어들이 나왔음에도 불구하고, 상업적으로나 학습용으로 확고한 자리를 지키고 있다.

C언어가 이처럼 인기를 끌게되자, 산업현장에서 쉽게 응용할 수 있도록 표준화가 필요해지게 되었으며, 그리하여서 1983년 ANSI(American National Standards Institute)에서 C에 대한 표준을 정의하게 된다. 이후 C를 위한 ANSI표준을 편하게 ANSI C라고 부르게 된다. ANSI C의 최신표준은 C99(:12) 이며, 여기에는 C언어를 위한 Scope, Term, Symbol, 환경, 구문요소, 주석, 헤더파일규칙 등 C언어를 사용하는데 있어서 준수해야될 사항들이 정의되어 있다.

이 문서의 내용은 가능한 C의 최신 표준인 C99을 따르게 될것이다. 가능한이라는 단서가 붙은 이유는 필자가 C99의 표준을 완전히 숙지하지 못함으로 표준에서 벗어난 설명이 있을 수 있기 때문이다. 그렇다고 걱정할 필요는 없다. C언어를 이해하고 사용하는데에는 문제가 발생하지 않는 수준은 지킬 것이다.

이 문서는 wiki(:12)를 이용해서 만들어질 것이며, 모든 과정이 공개된 상태에서 진행될 것이다. 누구든지 참여가능하다. Version 1이 완료된 시점에서 릴리즈 버젼이 docbook(:12) 형식으로 변환할 계획이다.

이 문서는 아래와 같은 사용자를 목표로 내용을 채워나갈 것이다.
  1. C 입문자
  2. Linux 초보 사용자
    • Linux에서 개발환경을 구축할 수 있을 정도로 간단히 소개
  3. 문법은 가능한 간결하게, 필요한 내용만
    • 사실상 if, while 문만 알면 프로그램 만들 수 있다.
  4. 가능하면 컴퓨터의 원리 수준에서(지루할 수도 있겠지만)의 이해를 목표로
    • 예를들어 포인터(:12)의 경우 구구절절하게 추상적으로 설명하는 것보다, 구체적으로 컴퓨터의 입장에서 포인터가 어떻게 기술되는가 하는 식으로
    • 혹은 signed, unsigned의 설명시 비트의 입장에서 기술하는 식
  5. 예제는 남발하지 않는다. 반드시 필요한 곳에서만 사용한다.
  6. 문법을 끝낸다음, 리눅스 시스템:::프로그래밍(:12)으로 한장 정도를 할애해서, 응용에 대한 감을 잡을 수 있는 정도로.
  7. 문서의 요소는 3개로 한다.
    • 본문
    • 예제 : 본문의 내용과 관련된 실행가능한 코드의 전부 혹은 일부
    • 중요 : 본문의 흐름을 해치지 않는 수준에서의 , 언급, 주석
    • 그림 : 4가지 색이상을 넘지 않도록 한다. 크기는 미정