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