더북(TheBook)

5. 변수 선언문은 그 변수를 처음 사용하는 지점과 최대한 가까이 둔다. 초보 C 프로그래머는 변수(특히 포인터 변수)의 초기화를 깜박하는 실수를 가장 많이 한다. 그래서 가능하면 변수 선언과 값 대입문을 하나로 묶는 것이 좋다. C 언어는 이런 취지로 정의(definition)라는 기능을 제공한다. 다시 말해 정의는 선언과 초기화를 하나로 묶은 것이다. 그러면 변수 이름에 값을 할당한 뒤 곧바로 변수를 사용할 수 있다.

이 방식은 for 루프를 작성할 때 특히 유용하다. 한 루프에서 사용하는 반복자(iterator) 변수는 다른 루프에서 사용하는 반복자와는 별개인 오브젝트다. 따라서 이 변수를 for문 안에 선언해서 스코프가 해당 루프를 벗어나지 않도록 한다.

6. 코드 블록은 전위 표기법(prefix notation)을 따른다. 코드 블록을 쉽게 이해하려면 목적과 범위가 잘 드러나도록 다음과 같이 표기해야 한다.

{는 항상 첫 문장이나 선언문과 같은 줄에 적는다.

블록 안에 나오는 코드는 한 단계 들여 쓴다.

마지막 }는 새 줄에 쓰고 해당 블록을 시작하는 문장과 들여쓰기 수준을 맞춘다.

} 뒤에 이어지는 블록 문장은 같은 줄에 쓴다.

예를 들면 다음과 같다.

int main(int argc, char* argv[argc+1]) {
  puts("Hello world!");
  if (argc > 1) {
    while (true) {
      puts("절대 멈추지 않는 프로그램은 존재한다.");
    }
  } else {
    do {
      puts("하지만 이 프로그램은 멈춘다.");
    } while (false);
  }
  return EXIT_SUCCESS;
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.