Module: 서브루틴: 절차 및 기능 - 1


Problem

8 /11


로컬 및 글로벌 변수

Theory Click to read/hide

로컬 및 글로벌 변수
서브루틴에서만 사용되는 추가 변수를 사용해야 하는 경우가 종종 있습니다. 이러한 변수를 로컬(또는 로컬)이라고 하며 변수가 생성된 서브루틴 내에서만 조작할 수 있습니다.
 
로컬 변수 범위는 선언된 중괄호로 묶인 블록입니다.
C#의 기본 프로그램도 서브루틴이므로 void Main() 내부에 선언된 모든 변수는 지역 변수입니다. 다른 서브루틴은 다른 서브루틴의 로컬 변수에 대해 아무것도 "알지" 않습니다.

따라서 실제로 필요한 서브루틴으로만 변수의 범위(범위)를 제한할 수 있습니다. 프로그래밍에서 이 기술을 캡슐화  - 변수를 외부에서 변경하지 못하도록 숨깁니다.

프로그램의 모든 서브루틴에서 볼 수 있는 변수를 선언해야 하는 경우 이러한 변수는 모든 서브루틴 외부에서 선언됩니다(아래 표의 프로그램 3 참조).
이러한 변수를 글로벌이라고 합니다.

C#에서는 프로그램이 시작되면 모든 전역 변수가 자동으로 0으로 설정됩니다(부울 변수는 false 값을 가짐).

세 가지 프로그램 분석: <몸>

Problem

n 높이의 왕관이 있는 크리스마스 트리를 출력하는 n 매개변수가 있는 프로시저를 작성합니다. 주 프로그램은 값의 입력을 포함해야 합니다. n 변수와 프로시저 호출.< br />  
1) 이 프로그램에서 변수 i는 로컬입니다. 지역 변수는 서브루틴 내에서 선언됩니다. 2) 여기서 메인 프로그램에 변수 i(값 7)가 있어도 값 5인 새로운 로컬 변수 i가 생성됩니다. 
이 프로그램이 실행되면 값 75가 화면에 나타납니다.
3) 이 프로그램에는 전역 변수 i가 있습니다. 그 값은 서브루틴 내부와 메인 프로그램 내부에서 변경할 수 있습니다.
프로시저는 전역 변수 i와 함께 작동하며 2와 같은 새 값이 할당됩니다. 값 2가 표시됩니다.
정적 무효 테스트() {   정수 i = 5; Console.Write("i"); } 정적 무효 테스트() {   정수 i = 5;   Console.Write("i"); } 정적 무효 메인() { 정수 i = 7;   Console.Write("i");   시험(); } 시스템 사용; 수업 프로그램 { 정수 i; 정적 무효 테스트() {   나는 = 2; } 정적 무효 메인() { 시험(); Console.Write("i"); } }
<헤드> <몸>
# 입력 출력
1 5 <예비>     영형    우   오오오  오오오오오 우우우우우우