C++ 초급 - 2. 기본 문법 (1 - 변수와 데이터 타입 (Variables & Data Types))

2025. 2. 12. 11:36프로그래밍 언어/C++

2.1 변수와 데이터 타입 (Variables & Data Types)

C++에서 변수를 선언하고 사용할 때 데이터 타입(Data Type)을 지정해야 한다.
데이터 타입은 변수에 저장될 값의 종류와 크기를 결정하며, 메모리 사용량과 연산 방식에 영향을 준다.


(1) 기본 데이터 타입 (Primitive Data Types)

C++의 기본 데이터 타입은 크게 정수형, 실수형, 문자형, 논리형으로 나뉜다.

데이터 타입 크기 (보통) 설명 예제 값
int 4바이트 정수형 (음수, 양수 포함) 42, -10, 0
float 4바이트 단정도 부동소수점 (소수점 표현) 3.14f, -0.5f
double 8바이트 배정도 부동소수점 (더 높은 정밀도) 3.1415926535
char 1바이트 단일 문자 저장 'A', 'b', '#'
bool 1바이트 참(true), 거짓(false) true, false

💡 참고:

  • float 값은 접미사 f를 붙여야 함 (3.14f)
  • double은 float보다 정밀도가 높음
  • char는 반드시 작은 따옴표(' ')를 사용해야 함
  • bool은 true(1) 또는 false(0) 값만 가짐

📌 예제 코드: 기본 데이터 타입

#include <iostream>

int main() {
    int age = 25;                   // 정수형 변수
    float pi = 3.14f;               // 단정도 실수형 변수
    double precisePi = 3.1415926535; // 배정도 실수형 변수
    char grade = 'A';               // 문자형 변수
    bool isPassed = true;           // 논리형 변수

    std::cout << "Age: " << age << std::endl;
    std::cout << "Pi: " << pi << std::endl;
    std::cout << "Precise Pi: " << precisePi << std::endl;
    std::cout << "Grade: " << grade << std::endl;
    std::cout << "Passed: " << isPassed << std::endl;

    return 0;
}

🔹 출력 결과

Age: 25
Pi: 3.14
Precise Pi: 3.14159
Grade: A
Passed: 1

💡 참고:

  • bool 값 true는 1, false는 0으로 출력됨.

(2) 변수 선언 및 초기화

변수를 선언할 때 메모리에 공간을 할당하지만, 초기화하지 않으면 쓰레기 값(garbage value)이 들어갈 수 있다.

📌 변수 선언 방법

int x;        // 선언만 함 (초기화되지 않음)
int y = 10;   // 선언과 동시에 초기화

(1) 변수 선언만 하고 초기화하지 않은 경우

#include <iostream>

int main() {
    int num;  // 초기화되지 않은 변수
    std::cout << "num: " << num << std::endl; // 예측 불가능한 값 출력
    return 0;
}

🔹 출력 예시 (실행할 때마다 다름)

num: -113478912

주의:

  • 초기화하지 않은 변수는 **쓰레기 값(garbage value)**을 가질 수 있음.
  • 항상 초기화해서 사용하는 것이 안전함.

(2) 변수 선언과 동시에 초기화

#include <iostream>

int main() {
    int a = 10;      // 정수형 변수 선언 및 초기화
    double pi = 3.14; // 실수형 변수 선언 및 초기화
    char letter = 'B'; // 문자형 변수 선언 및 초기화

    std::cout << "a: " << a << std::endl;
    std::cout << "pi: " << pi << std::endl;
    std::cout << "letter: " << letter << std::endl;

    return 0;
}

🔹 출력 결과

a: 10
pi: 3.14
letter: B

💡 참고:

  • 변수를 선언할 때 초기화하면 예측 가능한 값이 할당됨.
  • 정수는 int, 실수는 double 기본 사용 (float은 f 접미사 필요).

📌 C++에서 변수 선언 시 주의할 점

  1. 변수 이름 규칙
    • 숫자로 시작할 수 없음 (1number ❌, number1 ✅)
    • _(언더스코어) 제외한 특수문자 사용 불가 (name@ ❌)
    • C++ 예약어(int, double, if 등) 사용 불가 (int double ❌)
  2. 초기화되지 않은 변수 사용 금지
    • 초기화하지 않으면 쓰레기 값이 할당될 수 있음.
  3. const를 사용하여 상수 선언
    • 변경되지 않는 값은 const 키워드를 사용
    const double PI = 3.14159;
    

정리

항목  설명
기본 데이터 타입 int, float, double, char, bool 등의 기본 타입
변수 선언과 초기화 변수 선언 후 초기화 필수 (int a = 10;)
초기화되지 않은 변수 문제 쓰레기 값 할당 가능, 반드시 초기화 필요
변수명 규칙 숫자로 시작 불가, 예약어 사용 불가
상수 선언 (const) 값 변경 불가능한 변수 선언 가능 (const double PI = 3.14159;)