2.3. 프로그램언어 C++( C plus plus)에서의 변수 타입과 범위

프로그램언어 C++에서의 전역 변수와 그 범위

프로그램언어 C++에서의 전역 변수는 프로그램 어디에서든 접근할 수 있는 변수를 말합니다. 전역 변수는 해당 변수가 선언된 지점부터 파일의 끝까지 사용 가능하며, 다른 함수나 블록에서도 접근할 수 있습니다.

전역 변수의 범위는 해당 변수가 선언된 파일 전체로 한정됩니다. 이는 다른 파일에서 선언된 전역 변수에 접근할 수 없다는 것을 의미합니다. 또한, 전역 변수는 프로그램이 실행될 때 메모리에 상주하므로 메모리 소비량이 늘어날 수 있습니다.

아래는 C++에서의 전역 변수와 범위를 보여주는 예제 코드입니다.


#include 

// 전역 변수 선언
int globalVar = 10;

void function1() {
    // 전역 변수 globalVar에 접근 가능
    std::cout << "Inside function1, globalVar: " << globalVar << std::endl;
}

int main() {
    // 전역 변수 globalVar에 접근 가능
    std::cout << "Inside main, globalVar: " << globalVar << std::endl;

    // 전역 변수 globalVar 값 변경
    globalVar = 20;

    function1();

    return 0;
}

프로그램언어 C++에서의 지역 변수와 그 범위

지역 변수는 C++ 프로그램에서 특정 블록 내에서 선언되고 사용되는 변수를 말합니다. 이러한 변수는 해당 블록 내에서만 유효하며 블록을 벗어나면 소멸됩니다. 지역 변수의 범위는 해당 변수가 선언된 블록 내에서만 유효하다는 것을 의미합니다.

예를 들어, 다음은 C++에서의 지역 변수와 그 범위를 보여주는 간단한 코드 예제입니다.


#include <iostream>

int main() {
    int x = 5; // x는 main 함수 내에서 선언된 지역 변수

    if (x > 0) {
        int y = 10; // y는 if문 내에서 선언된 지역 변수
        std::cout << "x: " << x << ", y: " << y << std::endl;
    }

    // std::cout << y; // y는 if문 블록을 벗어나서 사용할 수 없음

    return 0;
}

프로그램언어 C++에서의 정적 변수와 그 범위

정적 변수는 C++ 프로그래밍 언어에서 특정 범위 내에서 값이 유지되는 변수를 말합니다. 이러한 변수는 한 번 초기화되면 프로그램이 실행되는 동안 메모리에 상주하며 값을 유지합니다.

정적 변수는 두 가지 범위를 가질 수 있습니다: 전역 범위와 지역 범위입니다.

전역 범위에서 선언된 정적 변수는 프로그램의 어디서든 접근할 수 있습니다. 이 변수는 한 번 초기화되면 프로그램이 종료될 때까지 메모리에 남아 있습니다.

지역 범위에서 선언된 정적 변수는 해당 지역 범위 내에서만 접근할 수 있습니다. 함수 내에서 선언된 경우, 해당 함수가 호출될 때마다 변수는 초기화되지 않고 값이 유지됩니다.


#include 

void exampleFunction() {
    static int staticVar = 0; // 정적 변수 선언
    staticVar++; // 변수 값 증가
    std::cout << "Static variable value: " << staticVar << std::endl;
}

int main() {
    exampleFunction(); // 호출
    exampleFunction(); // 호출
    return 0;
}

위의 예제 코드에서는 exampleFunction 함수 내에서 정적 변수 staticVar를 선언하고 값을 유지하는 것을 보여줍니다. 이 변수는 함수가 호출될 때마다 값이 증가하며, 프로그램이 종료될 때까지 유지됩니다.

프로그램언어 C++에서의 동적 변수와 그 범위

동적 변수는 프로그램 실행 중에 필요에 따라 메모리를 할당하고 해제할 수 있는 변수를 말합니다. C++에서는 동적 변수를 사용하기 위해 'new'와 'delete' 키워드를 제공합니다.

동적 변수의 범위는 변수가 할당된 메모리의 수명을 의미합니다. 동적 변수는 힙(heap) 영역에 할당되며, 사용자가 메모리를 명시적으로 해제하기 전까지 유지됩니다. 이는 정적 변수나 지역 변수와는 다른 특징을 가지고 있습니다.

아래는 C++에서 동적 변수를 사용하는 예제 코드입니다.


#include <iostream>

int main() {
    // 정적 변수 선언
    int staticVar = 5;
    
    // 동적 변수 할당
    int* dynamicVar = new int(10);
    
    // 정적 변수 값 출력
    std::cout << "Static Variable: " << staticVar << std::endl;
    
    // 동적 변수 값 출력
    std::cout << "Dynamic Variable: " << *dynamicVar << std::endl;
    
    // 동적 변수 해제
    delete dynamicVar;
    
    return 0;
}

프로그램언어 C++에서의 연산자 범위

C++ 프로그램언어에서 연산자는 특정한 작업을 수행하기 위해 사용되는 기호이다. C++에서 연산자는 여러 범위로 나눌 수 있다. 산술 연산자, 관계 연산자, 논리 연산자, 할당 연산자, 비트 연산자, 증감 연산자, 조건 연산자, 비트 시프트 연산자 등이 있다.


#include 
using namespace std;

int main() {
    int a = 10;
    int b = 5;
    int result;

    // 산술 연산자 (+, -, *, /, %)
    result = a + b;
    cout << "Addition: " << result << endl;

    // 관계 연산자 (==, !=, >, <, >=, <=)
    bool isEqual = (a == b);
    cout << "Is a equal to b? " << isEqual << endl;

    // 논리 연산자 (&&, ||, !)
    bool logicalAnd = (a > 5 && b < 10);
    cout << "Logical AND: " << logicalAnd << endl;

    // 할당 연산자 (=, +=, -=, *=, /=, %=)
    a += 5;
    cout << "New value of a: " << a << endl;

    return 0;
}

Leave a Comment