호빵의 IT 개발소

[C/C#] 지역 변수, 전역 변수 본문

CS(전공지식)/프로그래밍언어

[C/C#] 지역 변수, 전역 변수

호빵Stack 2022. 6. 20. 01:56

지역 변수

  • 지역 변수(local variable)는 함수의 몸체나 블록 안에 선언된 변수
  • 해당 지역 변수의 선언을 포함하는 함수 내에서만 접근 가능
  • 함수가 호출될 때 메모리상에 올라갔다가, 함수가 종료되면 메모리상에서 사라진다.
  • 모든 매개 변수는 지역 변수이다.

 

전역 변수

  • 함수 밖에서 선언된 변수
  • 프로그램이 시작하고 바로 메모리 상에 올라가서 프로그램이 종료될 때까지 계속 존재하는 변수
  • 프로그램 어디에서든 접근 가능
  • 모든 함수에서 공유할 수 있는 저장 공간을 이용할 수 있는 장점이 있음
  • 잘못 사용 시 모든 함수에 영향을 미치는 단점이 있음

 

int speed = 2; // 전역 변수

void Move()
{
    int speed = 4; // 지역 변수
}

전역 변수와 지역 변수가 같은 이름으로 선언되어 있으면 Move함수 안에 있는 지역 변수가 우선으로 되므로 출력 시 4가 출력된다.

Comments