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; }