C에서 새로운 변수를 선언할 수 있는 경우와 선언할 수 없는 경우 프로그램/기능 위에 모든 변수를 선언해야 하고, 스테이트먼트 중에 새로운 변수를 선언하면 문제가 생길 수 있다고 (선생님으로부터) 들었습니다. 그런데 K&R을 읽다가 우연히 이 문장을 발견했습니다. "변수 선언(초기화 포함)은 함수를 시작하는 명령뿐만 아니라 복합문을 도입하는 왼쪽 괄호 뒤에 있을 수 있습니다."그는 예를 들어 다음과 같이 말한다. if (n > 0){ int i; for (i=0;i