1971년 벨 연구소의 데니스 리치가 개발한 프로그래밍 언어
UNIX 운영체제를 쉽게 개발하기 위해 만들어짐
UNIX 운영체제는 어셈블리 언어 라는 Low-level 언어로 작성 되었습니다.
어셈블리 언어는 CPU의 구조에 변화가 생길 때마다
다른 어셈블리어로 작성해야 하는 문제점이 있었습니다.
어떤 개발자가 봐도 이해하고 수정할 수 있는 고급 프로그래밍의 언어의 필요성에 의해 C가 탄생 되었습니다.
- 하드웨어를 직접 제어가 가능합니다.
- 컴퓨터에 대한 풍부한 이해와 숙련도가 있어야 더 효율적으로 프로그래밍이 가능합니다.
C언어를 기반으로 만들어진 언어는 Java, C#, Objective-C 등이 있는데
이러한 언어들이 아무리 빨라도 C보다 느릴 수 밖에 없습니다.
C언어에는 전 세계에서 사용하는 표준 문법인 국제 표준이 있습니다.
미국의 표준화 기구인ANSI
에 의해 표준화를 시작하게 되었습니다.
C언어에는 여러 표준안이 있지만 대부분 C99, C11 표준안을 사용
#include <stdio.h>
int main()
{
return 0;
}
#include <stdio.h>
: #은 전처리기라고 하며 컴파일하기 전에 미리 처리해야 하는 명령어
#include는 컴파일 하기전에 <>괄호 안에 있는 것을 추가하라는 의미
stdio.h
: 'h' 확장자를 가지는 파일을 헤더 파일이라고 합니다.
전처리기 통해 헤더파일을 추가하면 컴퓨터는 이 함수가 존재하는지 판단하고 기능을 가져올 수 있습니다.
이미 만들어져 있는 함수 입출력, 반복문, 조건문 등 여러가지 기능을 사용할 수 있도록 해줍니다.
stdio.h(STanDard Input Output)
는 표준 입출력 헤더파일이라고 합니다.
int main()
: C언어의 가장 기본적인 함수로 실행 버튼을 누르면 main 함수 안에 있는 코드가 제일 먼저 실행됩니다.
return 0;
: 함수가 종료되었을 때 함수 내의 변수 혹은 어떤 값을 돌려주는 역할을 합니다.
C++ 표준에서는 main이 값을 리턴하지 않아도 암묵적으로 0을 return 한다고 판단하도록 수정됨
;
: 세미콜론은 코드의 마침을 의미합니다.
\
(역슬래쉬)와 특정 문자를 결합하여 C언어 특성상 표현할 수 없는 기능이나 문자를 표시해주는 문자를 말합니다.
\n
: 줄바꿈을 의미 , \t
: 탭키 만큼의 공백 등의 기능을 사용할 수 있습니다.