Java, C - for에 선언된 i의 생

C 나 JAVA를 처음 배우면 흔히 i라는 변수를 정의하여 사용한다. 그런데 어느날 궁금했다.
for문이 끝나면 사라지는 걸까?

지역변수와 전역변수의 개념에서 함수, 클래스와 관련해서는 들어보았지만, for의 조건에 들어가는 i의 범위에 대해서는 들었던 적이 없었던 것 같다. 하지만 예상은 for문이 종료되어도 i는 남아있을 것 같다.

for(int i = 0; i < 10; i++) 
	System.out.println("궁금한 건 참으면 정수리에 당근 자란다. ");

당연히 실험은 간단하다.

for(int i = 0; i < 10; i++)
	System.out.println("궁금한 건 참으면 정수리에 당근 자란다. ");
System.out.println(i);

정답은 !!

[JAVA] error. i cannot be resolved to a variable
[C] 오류(활성) E0020 식별자 "i"이(가) 정의되어 있지 않습니다.

예상과 달리 for 문이 끝나면 i의 메모리는 시스템에 반환되는 것 같다. 생각해보니 그러는 편이 더 효율적이고 관리하기 좋은 편인 것 같다.

오늘도 죄없는 i를 둘이나 죽였다

좋은 웹페이지 즐겨찾기