StartprogrammingusingObjectPascal:LocalVariables
Jump to navigation
Jump to search
지역 변수
변수들을 정의할 때, 프로시저나 함수 안에서만 사용할 수 있도록 지역적으로 정의할 수 있습니다. 이 변수들은 메인 프로그램 코드나 다른 프로시저 또는 함수에서 접근할 수 없습니다.
예제:
procedure Loop(Counter: Integer);
var
i: Integer;
Sum: Integer;
begin
Sum := 0;
for i := 1 to Counter do
Sum := Sum + i;
Writeln('Summation of ', Counter, ' number is: ', Sum);
end;
begin // Main program section
Loop(3);
Write('Press enter key to close');
Readln;
end.
Loop 프로시저에는 Sum와 i 두 지역변수가 있습니다. 지역 변수는 프로시저의 실행이 끝나기 전까지 임시로 변수를 할당하는 메모리의 일부인 스택 메모리에 저장합니다. 이는 프로그램 실행이 코드의 이 줄에 도달할 때 지역변수에 접근할 수 없으며, 지역변수를 덮어쓸 수 있다는 것을 의미합니다.
Write('Press enter key to close');
전역 변수들은 메인 프로그램과 다른 프로시저 및 함수에서 접근할 수 있습니다. 이들은 프로그램이 끝날 때까지 값을 지닐 수 있습니다. 하지만, 프로그램의 구조를 깰 수 있으며, 오류를 추적하기 어렵게 만드는데, 우리가 전역 변수를 초기화 하는 것을 잊었을 때, 어떤 프로시저는 알 수 없는 값을 넣고 잘못된 행동을 취하도록 전역 변수 값을 바꿀 수 있기 때문입니다.
지역 변수를 정의하는 것은 전역 변수 값에 대한 걱정 없이, 프로시저와 함수를 어디든 이식하고 호출할 수 있도록 돕는 개별성을 보장합니다.