본문 바로가기
Major/Programming

for문 안 변수선언

by 우프 2022. 9. 19.
반응형

C언어는 함수의 상단에서 변수선언을 해주어야 했으나, C++에서는 변수 선언의 위치의 제한을 두고 있지 않다. 이 부분이 장점이기도 하고 변수선언이 같이 있지 않다보니 더 헛갈리기도 한다.

for 문의 일반적은 구문은 다음과 같으며, init-expression 위치에서도 변수 선언이 가능하다. 유의해야할 점은 init-expression 위치에서 선언한 변수 뿐만아니라 statement에서 선언한 변수는 for 문 안에서만 유효하다는 것이다.

for ( init-expressioncond-expression loop-expression)
   statement

아래의 예문에서 첫번째 for문에서 int i로 변수 선언을 해준 후 다음 for문을 사용하기 전에 int i;로 다시 변수 선언을 해준다. 즉, for문 안에서 선언한 변수는 for문이 끝나면 stack에서 제거되어 더 이상 사용할 수 없다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main() {
    // The counter variable can be declared in the init-expression.
    for (int i = 0; i < 2; i++ ){
       cout << i;
    }
    // Output: 01
    // The counter variable can be declared outside the for loop.
    int i;
    for (i = 0; i < 2; i++){
        cout << i;
    }
    // Output: 01
    // These for loops are the equivalent of a while loop.
    i = 0;
    while (i < 2){
        cout << i++;
    }
    // Output: 01
}
cs

for문 안에서 변수 선언해주는 경우 해당 변수는 for문 안에서만 사용하는 것이어야 한다.

반응형

댓글