[C언어] 1.기초
C언어 학습 정리#
1. C언어의 기원#
프로그래밍 언어 C는 데니스 리치(Dennis Ritchie)에 의해 창시되었다. 초기의 UNIX 운영체제는 B 언어로 작성되었으나, 이후 C 언어로 재작성되면서 그 활용 범위가 크게 확장되었다.
B 언어와 C 언어의 주요 차이는 자료형(type system) 의 도입 여부이다. B 언어는 typeless 언어에 가까워 모든 데이터를 단일 word 단위로 처리하였으나, C 언어는 정교한 자료형 체계와 포인터, 배열, 구조체 등을 지원함으로써 시스템 프로그래밍 언어로서의 기반을 확립하였다.
2. C 프로그램의 기본 구조#
다음 예제는 가장 단순한 형태의 C 프로그램이다.
#include <stdio.h>
int main(void) {
printf("a");
return 0;
}
3. 코드 해설#
(1) #include <stdio.h>#
표준 입출력 함수의 선언이 포함된 헤더 파일을 불러온다.
이 파일에는 printf와 같은 함수의 원형과 관련 매크로 정의가 들어 있으며,
실제 구현은 표준 라이브러리(libc)에 존재한다.
(2) int main(void)#
main 함수는 프로그램의 진입점(entry point)이다.
반환형 int는 프로그램 종료 시 운영체제에 반환되는 상태 코드를 의미한다.
매개변수 void는 인자가 없음을 명확하게 명시한다.
(3) printf("a");#
printf 함수는 "a"라는 문자열을 표준 출력으로 내보낸다.
문자 'a'는 정수 값(ASCII 코드 97)으로 처리되므로, 올바른 출력 결과를 얻기 위해서는 반드시 문자열 리터럴 "a"를 사용해야 한다.
(4) return 0;#
return 0;은 프로그램이 정상적으로 종료되었음을 의미한다.
일반적으로 0은 성공(success)을 나타내며, 0이 아닌 값은 에러 코드(error code)로 해석된다.
운영체제는 이 반환값을 통해 프로그램의 실행 결과를 판별한다.
4. 정리#
C 언어의 기본 프로그램은 단순해 보이지만, 그 속에는 다음과 같은 학습 포인트가 포함되어 있다.
- 헤더 파일 포함(
#include)은 함수 선언을 불러오는 과정이다. main함수는 프로그램의 시작과 종료를 담당한다.printf는 표준 출력 함수로서 문자열을 출력한다.return구문은 프로그램의 종료 상태를 운영체제에 전달한다.
따라서 위의 예제는 단순히 문자 하나를 출력하는 코드이지만, C 언어의 구조적 특징과 시스템과의 관계를 학습하기에 적합한 출발점이라고 할 수 있다.