YUYANE

C / 전역변수 사용이 나쁜 이유 본문

Programming Languages/C

C / 전역변수 사용이 나쁜 이유

YUYA 2021. 1. 22. 10:41

발단

 

전역 변수를 사용하여 부스트 코스 미션 과제를 제출했다가, 일반적으로는 전역변수를 잘 사용하지 않는다는 피드백을 받았다. 왜 그럴까?

 

 

학습 내용

 

subscription.packtpub.com/book/game_development/9781787127838/2/ch02lvl1sec20/pros-and-cons-of-global-variableswww.guru99.com/local-vs-global-variable.html

 

 

전역 변수란?

 

전역 변수는 함수 외부에서 선언된 변수이다. 전역 변수는 프로그램이 돌아가는 동안 그 값을 계속해서 담고 있으며, 프로그램 내 어떤 함수에서든 호출이 가능하다.

 

 

전역 변수의 장점

 

- 프로그램 내 모든 함수나 모듈로부터 접근이 가능하다.

- 모듈 외부에서 한 번만 선언하면 된다.

-  'constants'를 저장하기에 이상적이다.

- 여러 개의 함수가 동일한 데이터에 접근할 때 유용하다.

 

 

전역 변수의 단점

 

- 전역 변수는 선언되면 프로그램 실행이 끝날 때 까지 메모리 공간을 차지하기 때문에, 메모리 부족의 원인이 될 수 있다.

- 어떤 함수에서든지 접근이 가능하기 때문에, 멀티 태스킹 환경에서 예상치 못한 문제를 일으킬 수 있다.

- 코드 리팩토링으로 전역 변수 사용이 중단 될 때, 그 변수를 호출 했던 모든 모듈을 수정해야 한다. (유지 보수 불편)

 

 

결론

 

전역 변수의 남발은 메모리 공간을 많이 차지할뿐더러, 전역 변수로 인한 오류가 발생했을 때 문제를 파악하기도 쉽지 않다. 따라서 불필요한 전역 변수 사용은 지양하는 것이 좋다.

'Programming Languages > C' 카테고리의 다른 글

C / 컴파일 과정에 대해서  (0) 2021.01.25
C / 포인터 사용하기 (코드리뷰)  (0) 2021.01.22
C / char 이용해서 문자열 선언하기  (0) 2021.01.21
C / 오버플로우  (0) 2021.01.19
C / 컴파일러의 역할  (0) 2021.01.18
Comments