[C, C++] 전역변수

성현씨·2024년 2월 20일
0

C / C++

목록 보기
13/15
post-thumbnail

◾ 전역변수

📕 전역변수

  • 전역변수란 함수 밖에 변수를 선언하는 것을 말합니다.
  • 전역변수의 사용 범위는 프로그램 전체이므로 어떤 함수에서도 사용이 가능합니다.
#include <stdio.h>

void assign10();
void assign20();

int a = 5;

int main()
{
	printf("함수 호출 전 a 값 : %d \n", a);
	
	assign10();
	assign20();

	printf("함수 호출 후 a 값 : %d \n", a);
	return 0;
}

void assign10(void)
{
	a = 10;    // 전역 변수 a에 10 대입
}

void assign20(void)
{
	int a;   // 전역 변수와 같은 이름의 지역 변수

	a = 20;  // 지역 변수 a 에 20 대입
}

  • 함수 호출 후 20이 안나오고 10이 나온다.
  • 전역변수와 지역변수의 이름이 같으면 지역변수를 먼저 사용하기 때문이다.

✳ 전역변수의 문제점
① 전역변수의 이름을 바꾸면 그 변수를 사용하는 모든 함수를 찾아 수정해야 한다.
② 전역변수의 값이 잘못된 경우 접근 가능한 모든 함수를 의심해야 한다.
③ 코드 블록 내에 같은 이름의 지역변수를 선언하면 거기서는 전역변수를 사용할 수 없다는 점!

고로 전역변수를 제한적으로 사용하거나 사용하지 않는 게 좋다.

profile
순수청년

0개의 댓글