본문 바로가기
프로그래밍언어/C 언어

[혼자 공부하는 C언어] 블록 안에서 사용하는 지역 변수

by khsnote22 2022. 12. 10.

지역 변수는 보통 함수 안에서 선안한 후 함수 끝까지 사용하지만 선언 위치에 따라 사용 범위가 달라질 수 있다 

 

특정 블록 안에 변수를 선언하면 사용 범위가 블록 내부로 제한됩니다. 메모리에 할당된 저장 공간도 블록이 끝나면 자동으로 회수되어 더 이상 존재하지 않습니다. 일단 지역 변수를 블록 안에 사용하는 예를 살펴보겠습니다.

// 블록 안에 지역 변수를 사용하여 두 변수를 교환하는 프로그램

#include <stdio.h>

int main(void)
{
	int a = 10, b = 20;

	printf("교환 전 a와 b의 값 : %d, %d\n", a, b);
	{ // 블록 시작
		int temp; // temp 변수 선언
		
		temp = a;
		a = b; // a와 b는 선언된 변수
		b = temp; 
	} // 블록 끝
	printf("교환 후 a와 b의 값 : %d, %d\n", a, b);

	return 0;
}

사용 가능한 변수가 둘 이상이면 가장 가까운 블록에 선언된 변수를 사용합니다.

특정 블록 안에 변수를 선언하면 필요한 경우 잠깐 사용하고 메모리를 재활용하는 효과를 볼 수 있습니다.