Page 28 -
P. 28
TAKEAWAY 2.2 프로그램에 나온 식별자는 모두 선언해야 한다.
예제 1-1을 보면 프로그램 안에서 직접 선언한 식별자는 A, i, main이다. 다른 식별자(printf,
size_t, EXIT_SUCCESS)의 선언에 대해서는 나중에 설명할 것이다. main 함수 선언에 대해서는 앞
에서 살펴봤다. 이 세 식별자의 선언문만 모아 보면 다음과 같다.
int main(void);
double A[5];
size_t i;
세 선언문은 일정한 패턴을 따른다. 각 문장마다 식별자(A, i, main)가 나오고, 그 식별자가 갖는
특정한 속성을 명시한다.
C
● i의 타입 은 size_t다.
● main 뒤에는 소괄호(parenthesis) (...)가 나온다. 그래서 선언 대상은 타입이 int인 함수라
는 것을 알 수 있다.
C
● A 뒤에는 꺾쇠괄호(bracket) [...]가 나온다. 따라서 선언 대상은 배열(array) 이다. 배열은 타
입이 같은 원소를 하나로 묶는 데 사용한다. 여기서는 double 타입 원소 다섯 개로 구성했
C
다. 이 배열을 구성하는 다섯 원소는 순서가 정해져 있고 인덱스(index) 라 부르는 숫자(0부
터 4)로 각 원소를 가리킬 수 있다.
C
선언문의 맨 앞에는 타입(type) 이 나온다. 세 선언문에서는 각각 int, double, size_t로 지정했다.
각각의 의미에 대해서는 뒤에서 소개할 텐데, 일단 이렇게 타입이 지정된 식별자는 문장 안에서
숫자처럼 사용한다는 정도만 알아 두자.
C
C
i와 A에 대한 선언문은, i와 A가 값(value) 을 저장하는 이름 있는 요소인 변수(variable) 라고 선언
한다. 변수는 특정한 타입의 ‘뭔가’를 담은 박스로 표현하면 이해하기 쉽다.
그림 2-1 배열의 구조
i size_t ??
[0] [1] [2] [3] [4]
A double ?? double ?? double ?? double ?? double ??
여기서 박스 전체(오브젝트)와 박스 종류(타입)와 박스 내용(값) 그리고 박스에 적힌 이름 또는 레
이블(식별자)을 구분할 줄 알아야 한다. 그림에서 ?? 부분은 구체적인 값을 모른다는 뜻이다.
32
모던c.indd 32 2021-12-29 오후 2:32:58