프로그래밍 언어/[ Coding Style Guide ]

[ Coding Style Guide ] 04. C언어 - 변수범위

kim.svadoz 2021. 1. 20. 17:38
반응형

변수 범위

변수의 범위를 적절히 조점함으로써 코드의 가독성이나 성능을 높일 수 있다.

  • 지역 변수

    • 함수 내 변수는 가능한 한 좁은 범위에 둔다.

      C99 이상에서는 함수 어디에서나 변수 선언을 할 수 있지만, 변수를 가능한 한 국한된 범위로 선언하고 최대한 첫 번째 사용처에 가깝게 선언한다. 이는 읽는 사람이 선언을 찾고 변수의 타입과 초기값을 알아내는 것을 쉽게 한다.

    • 되도록 선언과 동시에 초기화 한다.

      // 나쁨 - 선언과 초기화가 분리되어 있다.
      int i;
      i = f();
      
      // 좋음 - 선언과 동시에 초기화 된다.
      int j = g();
    • for, if, while 문에서 조건검사에 사용되는 변수는 되도록 해당 라인에서 변수를 선언한다.

      이 경우 해당 변수명은 코드의 다른부분에서 재 선언 가능하다.

      for(int i = 0; i < 10; i++)
      while (const char* p = strchr(str, '/')) {
          str = p + 1;
      }
    • 성능 면에서 변수를 반복문 내에서 선언하기 보다는 반복문 앞에서 선언하는 것이 좋다.

      물론 가능할 경우에만 적용한다.

      // 나쁨 - 선언이 반복문 내에 있다.
      for(int i = 0; i< 10000; i++) {
          int j;
          handling(j);
      }
      
      // 좋음 - 선언이 반복문 밖에 있다.
      int j;
      for (int i = 0; i < 10000; i++) {
          handling(j);
      }
반응형