일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- JavaScript
- 속초여행
- richtext
- 강원도속초맛집
- 알고리즘
- 건대입구맛집
- popupmenubutton
- 정렬알고리즘
- Django
- 남양주맛집
- 부스트코스
- Python
- DOM
- 코딩독학
- c언어문자열
- 성수동카페
- 컴퓨터과학
- python3
- 노마드코더
- FLUTTER
- BeautifulSoup
- 포인터
- 장고
- 아스키코드
- removetooltip
- 상속
- 추상클래스
- 자바
- pipenv
- 가상환경
- Today
- Total
YUYANE
C / 전역변수 사용이 나쁜 이유 본문
발단
전역 변수를 사용하여 부스트 코스 미션 과제를 제출했다가, 일반적으로는 전역변수를 잘 사용하지 않는다는 피드백을 받았다. 왜 그럴까?
학습 내용
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 |