Module: (C++) 서브루틴: 프로시저 및 함수 - 1


Problem

9 /12


로컬 및 글로벌 변수

Theory Click to read/hide

로컬 및 글로벌 변수
서브루틴에서만 사용되는 추가 변수를 사용해야 하는 경우가 종종 있습니다. 이러한 변수를 로컬 (또는 로컬)이라고 하며 변수가 생성된 서브루틴 내에서만 조작할 수 있습니다.
 
로컬 변수 범위는 선언된 중괄호로 묶인 블록입니다.

C++의 메인 프로그램도 서브루틴이므로 main() 내부에 선언된 모든 변수는 지역 변수입니다.
다른 서브루틴은 다른 서브루틴의 로컬 변수에 대해 아무것도 "알지" 않습니다.

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

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

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


세 가지 프로그램 분석: <몸> 가 표시됩니다. 가 화면에 표시됩니다.

Problem

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