변수 선언과 초기화
C++에서 변수를 선언하는 기본적인 방법은 다음과 같습니다.
#include <iostream>
using namespace std;
int main() {
int a; // 변수 선언 (초기화되지 않음)
a = 10; // 값 할당
cout << "a의 값: " << a << endl;
return 0;
}
위 코드에서 int a;는 변수 선언이며, a = 10;은 값을 할당하는 과정입니다.
선언과 동시에 초기화
변수를 선언하면서 동시에 값을 할당할 수도 있습니다.
#include <iostream>
using namespace std;
int main() {
int b = 20; // 선언과 동시에 초기화
cout << "b의 값: " << b << endl;
return 0;
}
이 방법은 변수를 사용할 때 초기값을 보장할 수 있으므로 보다 안전한 방식입니다.
다양한 데이터 타입의 변수 선언
C++에서는 다양한 데이터 타입을 지원하며, 각 타입에 맞는 변수를 선언할 수 있습니다.
#include <iostream>
using namespace std;
int main() {
int num = 100; // 정수형 변수
double pi = 3.14159; // 실수형 변수
char grade = 'A'; // 문자형 변수
bool isPassed = true; // 불리언 변수
cout << "정수: " << num << endl;
cout << "실수: " << pi << endl;
cout << "문자: " << grade << endl;
cout << "불리언: " << isPassed << endl;
return 0;
}
각 데이터 타입은 메모리를 차지하는 크기가 다르며, 프로그램에서 적절한 데이터 타입을 선택하는 것이 중요합니다.
auto 키워드
C++11부터는 auto 키워드를 사용하여 변수의 타입을 자동으로 결정할 수 있습니다.
#include <iostream>
using namespace std;
int main() {
auto x = 42; // int로 해석됨
auto y = 3.14; // double로 해석됨
auto z = "Hello"; // const char*로 해석됨
cout << "x: " << x << ", y: " << y << ", z: " << z << endl;
return 0;
}
auto를 사용하면 변수의 타입을 명확하게 지정하지 않아도 되므로 코드가 간결해집니다.
상수 변수 (const와 constexpr)
C++에서는 const 키워드를 사용하여 변수를 상수로 만들 수 있으며, 컴파일 타임 상수를 만들 때는 constexpr을 사용합니다.
#include <iostream>
using namespace std;
int main() {
const int MAX_VALUE = 100; // 변경할 수 없는 상수 변수
constexpr double PI = 3.14159; // 컴파일 타임 상수
cout << "최대값: " << MAX_VALUE << endl;
cout << "원주율: " << PI << endl;
return 0;
}
const 변수는 선언 후 값을 변경할 수 없으며, constexpr은 반드시 컴파일 타임에 값을 결정해야 합니다.
동적 할당 (new와 delete)
변수를 동적으로 할당할 경우 new 연산자를 사용하고, 메모리를 해제할 때 delete를 사용합니다.
#include <iostream>
using namespace std;
int main() {
int* ptr = new int(50); // 동적 메모리 할당
cout << "동적으로 할당된 값: " << *ptr << endl;
delete ptr; // 메모리 해제
return 0;
}
메모리 누수를 방지하기 위해 동적으로 할당된 메모리는 반드시 delete를 사용하여 해제해야 합니다.
[C++] 2. namespace & cin
네임스페이스(namespace)네임스페이스(namespace)는 C++에서 변수나 함수 이름이 충돌하는 것을 방지하기 위해 사용됩니다. 대규모 프로그램을 개발할 때, 여러 라이브러리에서 같은 이름의 함수나 변
clarelee.tistory.com
'Jaden's spectrum > 📂 Programming Languages' 카테고리의 다른 글
[C++] 6. 배열 (+다중 배열) (0) | 2025.03.17 |
---|---|
[C++] 5. 반복문 (for & while) (0) | 2025.03.16 |
[C++] 4. 조건문 (if & switch) (0) | 2025.03.16 |
[C++] 2. namespace & cin (0) | 2025.03.16 |
[C++] 1. iostream & cout (0) | 2025.03.16 |