로컬 및 글로벌 변수
서브루틴에서만 사용되는 추가 변수를 사용해야 하는 경우가 종종 있습니다. 이러한 변수를
로컬 (또는 로컬)이라고 하며 변수가 생성된 서브루틴 내에서만 조작할 수 있습니다.
로컬 변수 범위는 선언된 중괄호로 묶인 블록입니다.
C++의 메인 프로그램도 서브루틴이므로
main()
내부에 선언된 모든 변수는 지역 변수입니다.
다른 서브루틴은 다른 서브루틴의 로컬 변수에 대해 아무것도 "알지" 않습니다.
따라서 실제로 필요한 서브루틴으로만 변수의 범위(범위)를 제한할 수 있습니다. 프로그래밍에서 이 기술을
캡슐화 - 외부에서 변경되는 변수를 숨깁니다.
프로그램의 모든 서브루틴에서 볼 수 있는 변수를 선언해야 하는 경우 이러한 변수는 모든 서브루틴 외부에서 선언됩니다(아래 표의 프로그램 3 참조).
이러한 변수를
전역이라고 합니다.
C++에서 프로그램이 시작되면 모든 전역 변수는 자동으로 0으로 설정됩니다(부울 변수는 false
값을 가짐).
세 가지 프로그램 분석:
<몸>
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 << 나;
}
|
테이블>
Problem
높이가
n
인 크리스마스 트리를 표시하는
n
매개변수로 프로시저를 작성하세요.
메인 프로그램은 변수
n
값의 입력과 프로시저 호출을 포함해야 합니다.
예
<헤드>
<일>#일>
입력 |
출력 |
것>
<몸>
1 |
5 |
<예비>
영형
우
오오오
오오오오오
우우우우우우
|
테이블>