더북(TheBook)

레벨 1의 설명 과정에서 스타일이 생소한 부분이 있을 수도 있다. 자세한 사항은 레벨 2(9장)에서 살펴볼 것이므로 우선은 답답함을 참고 넘어가자. 예를 들면 다음과 같다.

1. 타입 수정자(type modifier)와 타입 한정자(type qualifier)는 왼쪽에 바인딩된다. 식별자를 타입과 시각적으로 구분하기 위해 일반적으로 다음과 같이 작성한다.

char* name;

여기서 char*는 타입이고 name은 식별자다. 한정자를 적을 때는 왼쪽 바인딩을 적용하여 다음과 같이 표기한다.

char const* const path_name;

첫 번째 const 한정자는 왼쪽에 나온 char에 적용되며 *를 붙여서 포인터로 만들었다. 두 번째 const 한정자도 왼쪽으로 바인딩된다.

2. 연달아 선언하지 않는다. 타입 선언이 연달아 나오면 바인딩 과정이 모호해진다. 다음 예를 살펴보자.

unsigned const*const a, b;

여기서 b의 타입은 unsigned const다. 다시 말해 첫 번째 const는 타입에 적용되고, 두 번째 consta 선언문에 적용된다. 굉장히 헷갈리는 데 비해 그리 중요한 규칙은 아니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.