기본 개념(Basic concepts) — C 언어를 이루는 낱말

기본 개념(Basic concepts) — C 언어를 이루는 낱말

C 프로그램을 설명할 때 쓰는 용어들이 서로 어떤 관계인지 한 번쯤 정리하고 싶을 때가 있어요. 파일, 선언, 식별자, 스코프, 타입 같은 낱말들이 사실은 하나의 그림을 그리고 있어요. 이 문서는 C 언어를 기술할 때 쓰는 핵심 용어와 개념의 정의를 모아둔 출발점이에요.

출처: cppreference

본문

이 절은 C 프로그래밍 언어를 기술할 때 쓰는 구체적인 용어와 개념에 대한 정의를 제공해요.

C 프로그램은 선언(declaration)을 담은 텍스트 파일들의 연속이에요(대개 헤더 파일과 소스 파일). 그것들은 번역(translation)을 거쳐 실행 가능한 프로그램이 되고, 운영체제가 그 프로그램의 main 함수를 호출할 때 실행돼요. 프로그램이 운영체제 자신이거나 다른 freestanding 프로그램이라면 진입점은 구현 정의(implementation-defined)예요.

C 프로그램 안의 어떤 단어들은 특별한 의미를 가지는데, 그것들을 **키워드(keyword)**라고 해요. 그 외의 단어들은 **식별자(identifier)**로 쓸 수 있고, 객체·함수·구조체·공용체·열거형 태그, 그 멤버들, typedef 이름, 레이블, 매크로를 나타내는 데 쓰일 수 있어요.

각 식별자(매크로 제외)는 프로그램의 일부인 스코프(scope) 안에서만 유효하고, 네 종류의 이름 공간(name space) 중 하나에 속해요. 어떤 식별자는 **링키지(linkage)**를 가져서 서로 다른 스코프나 번역 단위에서 나타나도 같은 개체를 가리키게 돼요.

함수의 정의는 일련의 문(statement)과 선언을 포함하고, 그중 일부는 프로그램이 수행할 계산을 지정하는 **표현식(expression)**을 포함해요.

선언과 표현식은 **객체(object)**를 만들고, 파괴하고, 접근하고, 조작해요. C의 모든 객체·함수·표현식은 어떤 **타입(type)**과 연관되어 있어요.

더 알아보기