Monday, January 28, 2013

정신이 없을때 하기 쉬운 실수


int D = 1234;


void function_xxx()
{
    char D;
   
     printf( "%d", D );
}

이렇게 해놓고.. 아놔.. 왜 D가 이상한 숫자가 나오지? 1234가  나와야 하는데..라고 생각하며 삽질을 할 수 있다.

C언어에서 변수의 사용은 가까운놈이 우선이므로 전역변수 D보다 로컬변수 D가 우선이므로  1234가 나올리가 없다.

전역변수 사용시 극히 주의하고 전역변수는 이름을 특별히 지어서 해깔리지 않도록 한다.

각자 개인차가 있겟지만 예를 들어 전역은 G_xxx 식으로 변수 이름을 지어주자. 아니면

별도의 구조체나 클래스의 맴버로 만든 후 static 변수로 만들어놓고 쓰던가.



No comments:

Post a Comment