와드의 블로그

11. 지역 변수와 전역 변수 본문

프로그래밍 언어/C

11. 지역 변수와 전역 변수

Ward 2021. 9. 12. 04:52

(1) 함수 안에서만 사용하는 지역 변수

 

* 지역 변수 살펴보기

지역 변수: 함수 안에서 선언한 변수나 매개변수로 함수가 호출될 때 생성됐다가 함수 호출이 끝나면 사라진다.

서로 다른 함수에 선언된 지역변수는 이름이 같아도 상관없다.

 

(2) 프로그램 전체에서 사용하는 전역 변수

 

* 전역 변수 살펴보기

전역 변수: 함수 밖에서 선언한 변수로 프로그램이 시작할 때 만들어졌다가 프로그램이 종료될 때 사라진다.

전역 변수는 프로그램 전체 영역에서 사용할 수 있다.

전역 변수는 특정한 초기화 값이 없으면 0으로 초기화된다.

 

* 전역 변수와 지역 변수의 이름이 같다면?

전역 변수와 지역 변수는 이름이 같더라도 오류가 나지 않고 전역 변수보다 지역 변수로 우선해서 처리한다.

 

(3) extern 키워드

 

* 소스 파일을 분리할 때 발생하는 오류

소스 파일이 길어지면 파일 한 개로 관리하기보다는 여러 개의 파일로 나누어서 관리한다.

두 소스 파일에서 같은 전역 변수를 사용하기 위해 둘 다 전역 변수를 선언하면 같은 이름의 전역 변수가 두 개 선언되었으므로 오류가 발생, 이러한 경우 extern 키워드를 사용하여 선언한다.

 

(4) static 키워드

 

* 특정 소스 파일에서만 전역 변수 사용하기

전역 변수를 선언하고 해당 전역 변수의 사용 범위를 변수를 선언한 소스 파일로 제한하고 싶다면 전역 변수를 선언할 때 static 키워드를 사용한다.

 

* 특정 함수에서만 전역 변수 사용하기

전역 변수를 특정 함수 안에서만 사용하고 싶다면 해당 전역 변수를 사용하고 싶은 함수로 옮기고 그 앞에 static 키워드를 적어주면 된다.

 

※ const 키워드

const 키워드는 변수를 상수처럼 쓰고 싶을 때 사용한다.

const가 명시된 변수 값을 변경하면 오류가 발생한다.

 

 참조문헌: C언어 입문

'프로그래밍 언어 > C' 카테고리의 다른 글

13. 포인터  (0) 2021.09.16
12. 배열과 문자열  (0) 2021.09.14
10. 시프트 연산자와 비트 연산자  (0) 2021.09.12
9. 반복문  (0) 2021.09.12
8. 조건문  (0) 2021.09.10