【 C 언어 】 #44 전역변수-지역변수 이해하기
같은 변수명을 전역변수와 지역변수로 각각 선언하면서 초기값을 지정하게 되면, 변수가 사용되는 위치에 따라 값이 달라 질 수 있다. 지역변수와 전역변수가 이용 되는 범위에 대해 이해해보자.
▶ 문제 : int x를 전역변수와 지역변수로 각각 선언하고 초기값을 전역에 100, 메인함수 내에서 지역변수 초기값으로 50을 주고 출력하고, 서부루틴 함수 2개를 만들어 하나는 전달 인수값 200을 주어 출력하고, 하나는 전역변수 값을 출력하도록 하도록 한다.
▶ 실행 결과 :
(이미지 클릭, 확대해서 보세요)
▶ 포인트 :
- 통상적으로 전역변수명과 지역변수명을 같게 하여 작성하지 않으나, 필요한 경우도 있다.
- 변수 선언명을 각각, 지역변수 display_Localx(int x), 전역변수 display_Globalx(void) 로 선언한다.
- 지역변수는 메인 함수 내에서 전역변수 보다 우선순위가 높다.
- 함수 내에서 선언된 지역변수는 해당 함수 내에서만 사용된다. 따라서 다른 함수에서 사용하려면 다시 선언을 해주거나, 전역변수로 선언해야 한다.
- 동일한 변수 명이 전역과 지역함수에서 사용 될 경우, 초기값을 주어야 한다. 그렇지 않으면 쓰레기값(garbage)으로 초기화 될 수 있다.
▶ 프로그램 (답안 예시) :
(이미지 클릭, 확대해서 보세요)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
▶ 소스코드 다운로드 :
'Language > C & C++' 카테고리의 다른 글
【 C 언어 】#46 매크로 (macro) 이해하기 (0) | 2018.05.15 |
---|---|
【 C 언어 】 #45 <#include 문>으로 헤더파일을 선언해보자 (0) | 2018.05.14 |
【 C 언어 】 #43 데이터형에 따른 메모리 할당 크기 확인하기 (0) | 2018.05.09 |
【 C 언어 】 #42 공용체 (union) 이해하기 (0) | 2018.05.08 |
【 C 언어 】 #41 사용자 정의 데이터형(typedef) 이해하기 (0) | 2018.05.08 |