| [ CnUnix ] in KIDS 글 쓴 이(By): Tony (관객2) 날 짜 (Date): 2002년 2월 22일 금요일 오전 12시 03분 18초 제 목(Title): Re: [Q] switch문 내에서 변수 선언 case XXX : { int i; } case YYY : 바로 윗분 말씀이 옳지만... case XXX: 다음에 변수를 선언해서 에러 안나는 C컴파일러는 전 아직 구경못해봤습니다 *^.^* 무조건 에러입니다. C는 BLOCK(이걸 BLOCK이라고 하던가요?) 단위로 구성되어 있으며 이 BLOCK은 '{'로 시작하고 그 다음에 변수선언이 나오고 그 다음에 EXPRESSION이 오며 '}'로 끝나게 되어있습니다. {int i; 어쩌고저쩌고~~~~ } 이렇게 쓰면 한개의 완성된 BLOCK이 되는거니까 에러가 안나겠죠? 이런 것의 특별한 경우가 void test() { int i; ~~~~~~} 이렇게 쓰면 함수의 선언이구요. if(~~) { int i; ~~~~} 이렇게 쓰면 if 조건문이구요... ps. C++은 중간에 변수를 선언해도 되도록 되어있습니다. ps2. BLOCK = '{' + 변수선언 + EXPRESSIONS + '}' // *^.^* == "너희는 이 곳, 이 세상을 어떻게 생각해?" "천국도 지옥도 갈 수 없는 '평범한 영혼'들이 잠시 들려 쓸쓸히 방황하는 곳이라고 생각합니다." |