본문 바로가기
Software/C++

[C++ 기초] 6. 배열과 문자열

by 리미와감자 2023. 3. 10.
#include <iostream> // 전처리 지시자
using namespace std; // 없으면 std::을 붙여서 함수를 사용해야함

int main() { // main의 이름을 가지고 있는 함수가 있어야 한다.

	short month[12] = { 1,2,3 };

	cout << month[0] << endl; 
	cout << month[1] << endl; 
	cout << month[2] << endl; 

	cout << month[3] << endl; 
	cout << month[4] << endl; 
	cout << month[5] << endl;	
	cout << month[11] << endl; 
	cout << month[12] << endl; // 쓰레기값

	cout << month << endl; // 배열의 시작주소
	cout << &month[0] << endl; // 배열의 0번째 주소(시작주소)
	cout << &month[1] << endl; // 배열의 1번째 주소


	short year[] = { 2021,2022,2023 };

	cout << year[0] << endl; 
	cout << year[1] << endl; 
	cout << year[2] << endl; 
	cout << year[3] << endl; // 쓰레기값



	char a[6] = { 'H','e','l','l','o','\0' };
	char b[] = "Hello"; // 배열의 특성을 이용하여 손쉽게 초기화 할 수 있음

	cout << a << endl;
	cout << b << endl;

	return 0;
}

 

결과

더보기

1
2
3
0
0
0
0
-13108
000000F02DB5F648
000000F02DB5F648
000000F02DB5F64A
2021
2022
2023
-13108
Hello
Hello

 

 

  • C++는 복합데이터형을 제공.
  • 사용자 정의대로 새로운 데이터형을 만들 수 있음
  • 복합데이터형 : 기본 정수형과 부동소수점형의 조합

 

배열 : 같은 데이터형의 조합.

 

선언

typeName arrayName[arraySize];

규칙

  • 초기화를 선언 이후 나중에 할 수 없다.
  • 배열을 다른 배열에 통째로 대입할 수 없다.
    short month[5] = { ... }
    short year[12] = { ... }
    year = month (x)
  • 모든 배열의 원소를 초기화 하지 않아도 된다.
  • 초기화되지 않은 원소들은 0으로 설정된다
    즉, 첫번째 원소만 0으로 초기화 하면, 나머지 원소들은 모두 0으로 초기화된다.
    배열을 초기화할 때 대괄호 속을 비워두면 컴파일러가 초기화 값의 개수를 헤아려 배열 원소 개수를 저장한다.
  • 배열의 이름은 배열의 시작 주소이다.

문자열 : 문자의 집합

 

선언

char a[6] = { 'H','e','l','l','o','\0' };

char b[] = "Hello";

 

특징

null 문자(\0)가 있어야 문자열이 종결된다.

null 문자를 포함하는 string형이 있다.

 

댓글