StartprogrammingusingObjectPascal:LocalVariables

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

지역 변수

변수들을 정의할 때, 프로시저나 함수 안에서만 사용할 수 있도록 지역적으로 정의할 수 있습니다. 이 변수들은 메인 프로그램 코드나 다른 프로시저 또는 함수에서 접근할 수 없습니다.

예제:

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');


전역 변수들은 메인 프로그램과 다른 프로시저 및 함수에서 접근할 수 있습니다. 이들은 프로그램이 끝날 때까지 값을 지닐 수 있습니다. 하지만, 프로그램의 구조를 깰 수 있으며, 오류를 추적하기 어렵게 만드는데, 우리가 전역 변수를 초기화 하는 것을 잊었을 때, 어떤 프로시저는 알 수 없는 값을 넣고 잘못된 행동을 취하도록 전역 변수 값을 바꿀 수 있기 때문입니다.


지역 변수를 정의하는 것은 전역 변수 값에 대한 걱정 없이, 프로시저와 함수를 어디든 이식하고 호출할 수 있도록 돕는 개별성을 보장합니다.