🎮 오늘의 기술 키워드
1. 선언(Declaration)
선언은 변수를 "만들고 이름을 붙이는 것".
컴퓨터에게 "이름이 myCar인 자동차 한 대를 만들 거야"라고 알려주는 것과 같다.
이 단계에서는 변수가 사용할 메모리 공간을 확보하고, 어떤 종류의 데이터(자료형)를 담을지 결정한다.
int number; // number라는 이름의 int형 변수를 선언
이 코드는 number라는 변수를 만들고, 그 변수에는 정수(int)만 들어갈 수 있다고 컴퓨터에게 알려주는 것이다.
하지만 이 시점에는 아직 아무 값도 들어있지 않다.
2. 초기화(Initialization)
초기화는 선언된 변수에 "처음으로 값을 넣어주는 것".
자동차를 사서 운전하려면, 먼저 연료를 채워야 하는 것처럼 초기화는 변수에 연료(값)를 채워주는 과정과 같다.
number = 10; // number 변수에 10이라는 값을 처음으로 넣어 초기화
이 코드는 이전에 선언한 number 변수에 10이라는 값을 대입하는 것이다. 이제 number라는 변수는 10이라는 값을 갖게 된다.
대부분의 경우, 변수를 선언함과 동시에 초기화하는 것이 일반적이고 좋은 습관이다.
int number = 10; // 선언과 동시에 초기화
이 한 줄의 코드는 "이름이 number이고, 정수만 담을 수 있는 변수를 만들면서, 동시에 그 안에 10이라는 값을 넣어라"는 의미이다.
3. 배열은 임의접근
각각 따로 접근해서 일반 변수처럼 대입이 된다
배열 요소에 접근
배열의 각 요소는 "인덱스(index)"를 사용하여 접근함. 인덱스는 0부터 시작하는 정수 번호이며, 대괄호 [] 안에 넣어 사용한다.
아래 예시 코드를 보면, scores라는 이름의 배열에 총 3개의 칸이 있고, 각 칸은 scores[0], scores[1], scores[2]라는 인덱스로 구분된다.
예시
#include <iostream>
int main() {
// scores라는 이름의 배열을 선언하고 3개의 정수형 값을 저장할 공간을 확보합니다.
int scores[3];
// 각 인덱스에 따로 접근하여 값을 대입합니다.
scores[0] = 85; // 첫 번째 칸(인덱스 0)에 85를 대입
scores[1] = 90; // 두 번째 칸(인덱스 1)에 90을 대입
scores[2] = 75; // 세 번째 칸(인덱스 2)에 75를 대입
// 일반 변수처럼 값을 변경할 수도 있습니다.
scores[0] = 100; // 첫 번째 칸의 값을 100으로 변경
// 각 인덱스에 접근하여 값을 출력합니다.
std::cout << "첫 번째 점수: " << scores[0] << std::endl;
std::cout << "두 번째 점수: " << scores[1] << std::endl;
std::cout << "세 번째 점수: " << scores[2] << std::endl;
return 0;
}
🌍 나만의 연결
배열 = "트랙 여러 개 만들고, 각 칸(인덱스)에 다른 장면 넣기"
필요할 때 각 칸의 장면을 바로바로 꺼내 재배치할 수 있으니, 배열은 마치 여러 클립을 순서대로 보관한 클립 박스 느낌으로 볼 수 있다.
🧠 깨달음 & 질문
- 선언과 초기화에 대한 개념에 대한 이해를 완벽하게 했다. 사실 강의를 들으면서 계속 "단어" 그 자체에 빠져서 이해하지 못하고 있었는데 두 개념을 자동차를 사서 운전하는 과정에 비유해봤더니 이해가 확 됐다.
- 선언과 초기화의 차이를 명확히 구분하니, 변수에 값이 없을 때의 상태(쓰레기값)도 이해가 됐다.
- 배열이 임의 접근 가능하다는 건, for문과 결합했을 때 강력한 무기가 될 것 같다.
- 배열을 선언했는데 초기화를 하지 않아 쓰레기값이 출력됨 → 디버깅하면서 초기화의 중요성 체감.
- 질문: 배열 크기를 실행 중에 바꿔야 할 때는 어떻게 해야 할까?
🧵 연결 태그
#변수선언 #초기화 #배열 #임의접근 #C++기초
📌 오늘의 메모 한 줄
변수는 ‘연료’, 배열은 ‘연료 통’ — 선언은 자동차 제조나 '구매', 초기화는 자동차에 '연료 넣기'
🌱 내일을 위한 메모
- 배열 초기화를 한 번에 하는 방법 {} 문법 연습하기
- for문을 사용해 배열 전체를 입력/출력하는 코드 작성
- 동적 배열(vector)와 정적 배열(int[]) 차이
'C++' 카테고리의 다른 글
| [TIL_C++]매개변수, 지역변수 / Call by Value, Ref / 메모리 할당 (3) | 2025.08.19 |
|---|---|
| [TIL_C++] 반복문 for, while 기초 (2) | 2025.08.18 |
| [TIL_C++] Hello World!로 알아보는 코드 작성법 (4) | 2025.08.13 |
| [TIL_C++]진수와 컴파일 그리고 서식 지정자 (3) | 2025.08.12 |
| [TIL_C++/Git] 어색한 C언어 / 자료형 / Git (4) | 2025.08.11 |