반도체/C++

22. C++에서 변수

Clair_de_Lune 2024. 8. 14. 13:25
728x90

C++에서 변수는 데이터를 저장하는 데 사용되는 이름이 붙은 메모리 위치입니다. 변수는 다양한 데이터 타입을 가질 수 있으며, 프로그램 실행 중에 값을 저장하고 변경할 수 있습니다. 변수에 대해 자세히 설명하겠습니다.

변수 선언 및 초기화

변수를 사용하려면 먼저 선언해야 합니다. 선언 시 변수의 데이터 타입과 이름을 지정합니다. 초기화를 통해 변수를 선언하면서 값을 설정할 수도 있습니다.

int myVariable;      // 변수 선언
myVariable = 10;     // 변수 초기화

int anotherVariable = 20;  // 선언과 동시에 초기화

변수의 데이터 타입

변수는 다양한 데이터 타입을 가질 수 있습니다. 주요한 데이터 타입은 다음과 같습니다:

  • 기본 데이터 타입
    • int: 정수형 (예: int a = 5;)
    • float: 부동 소수점형 (예: float b = 3.14;)
    • double: 배정밀도 부동 소수점형 (예: double c = 6.28;)
    • char: 문자형 (예: char d = 'A';)
    • bool: 불리언형 (예: bool e = true;)
    • const 키워드를 사용하여 상수를 선언할 수 있습니다. 상수는 초기화 후 값을 변경할 수 없습니다.상수 (const)
  • const int MAX = 100;
    
    • 열거형은 관련된 상수들을 그룹화하는 데 사용됩니다.열거형 (enum)
  • enum Color { RED, GREEN, BLUE };
    Color myColor = RED;
    

변수의 범위와 수명

변수의 범위는 변수가 유효한 코드 블록을 의미하며, 수명은 변수가 메모리에 존재하는 기간을 의미합니다. 변수는 선언된 위치에 따라 다음과 같이 분류됩니다:

    • 함수 또는 블록 내에서 선언되며, 해당 블록이 끝나면 소멸합니다.지역 변수 (Local Variable)
    void myFunction() {
        int localVar = 10;  // 지역 변수
    }  // localVar는 여기서 소멸
    
    • 함수 외부에서 선언되며, 프로그램 전체에서 유효합니다.전역 변수 (Global Variable)
  • int globalVar = 20;  // 전역 변수
    
    void myFunction() {
        globalVar = 30;
    }
    
    • 함수 내에서 선언되지만, 정적 변수는 프로그램이 종료될 때까지 유지됩니다.정적 변수 (Static Variable)
  • void myFunction() {
        static int staticVar = 10;  // 정적 변수
        staticVar++;
    }
    
    • 다른 파일에서 선언된 변수를 참조할 때 사용됩니다.외부 변수 (Extern Variable)
    extern int externalVar;  // 외부 변수 참조
    

변수의 사용 예시

#include <iostream>

int globalVar = 100;  // 전역 변수

void exampleFunction() {
    static int staticVar = 0;  // 정적 변수
    int localVar = 10;         // 지역 변수

    staticVar++;
    localVar++;

    std::cout << "Static Variable: " << staticVar << std::endl;
    std::cout << "Local Variable: " << localVar << std::endl;
}

int main() {
    exampleFunction();
    exampleFunction();
    exampleFunction();

    std::cout << "Global Variable: " << globalVar << std::endl;
    return 0;
}

이 예제는 정적 변수와 지역 변수가 어떻게 다르게 동작하는지 보여줍니다. 정적 변수 staticVar는 함수가 호출될 때마다 값이 유지되지만, 지역 변수 localVar는 함수가 호출될 때마다 다시 초기화됩니다.

728x90