C언어 - 전역 변수 & 지역 변수

Ohyuchan·2023년 9월 26일
0
post-thumbnail

📁 전역 변수 & 지역 변수


이번 포스팅에서는 전역 변수와 지역 변수에 대해서 작성해보려고 합니다.

변수는 "선언 위치"에 따라 전역 변수와 지역 변수로 나눠집니다.

  • 전역변수(Global variable) : 어느 위치에서든 호출하면 사용이 가능
    (함수 밖에 선언하여 클래스 전체에서 사용이 가능한 변수)
  • 지역 변수(Local variable) : 특정구역({}) 내에서 생성되어 그 구역에서만 사용
    (함수 속에 선언되어 해당 함수 속에서만 사용이 가능한 변수)

👉 사용법


✨ 지역변수


C언에서는 하나의 함수, 즉 {} 안에 선언된 변수를 의미한다.
지역변수는 해당 함수안에서만 유효하다
main 함수 안에 선언된 a 변수가 그 예이다

⇲ 특징


지역변수는 서로다른 함수들끼리 이름을 중복하여 사용할 수 있다.

전역 변수


#include <stdio.h>

int a = 0;

void main() {....}

⇲ 특징


전역변수와 동일한 이름으로 지역변수로 재정의한경우 : 이름이 같을때 지역변수가 먼저 처리되므로
var1 + var2 값은 지역변수 result에 저장되고, 전역변수 result에는 어떤 변화도 생기지
않는다. main은 전역변수 result를 출력하므로 결과값은 0이 나오게된다.

#include <stdio.h>
int result = 0;  // (1)전역변수 생성

void Sum(int var1, int var2);  // (2)Sum함수 선언

void main()
{
	Sum(5, 3); //(3)Sum함수 호출
	printf("%d", result);  // (5)결과값은 무조건 0 출력
}

void Sum(int var1, int var2)
{
	int result;  // (4)Sum함수 result 재정의(지역변수화)
	result = var1 + var2;
}

이러한 특징때문에 지역변수는 프로그램의 이식성을 떨어트리므로 꼭 필요한 경우가 아니면 사용하지 않는게 좋다.

profile
안녕하세요

0개의 댓글