67. C++ char 배열

C++ char 배열

1. 개요

1.1 문서 개요

이 문서는 C++에서 사용하는 char 배열에 관해 기록하는 문서입니다. char 배열은 C언어 스타일의 문자열 표현 방식으로, null 종료 문자(\0)를 통해 문자열의 끝을 나타내며, 저수준 문자열 처리에 사용됩니다. C++의 고수준 문자열 클래스인 std::string과는 다르게 메모리 관리를 직접 수행해야 하며, 포인터 연산과 배열 기초 개념에 기반합니다.

2. 내용

2.1 char 배열의 기본 개념

2.1.1 정의와 구조

char 배열은 char 타입 요소로 이루어진 정적 또는 동적 배열입니다. 문자열은 마지막에 null 문자 \0로 종료되어야 하며, 이는 문자열의 끝을 구분하는 역할을 합니다.

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

또는 문자열 리터럴로 초기화할 수 있습니다:

char greeting[] = "Hello";

2.1.2 배열 크기와 null 문자

문자열 리터럴로 초기화하는 경우, 컴파일러는 자동으로 null 문자를 추가하며, 배열 크기는 문자열 길이 + 1이 됩니다.

char word[5] = "Test"; // OK
char word[4] = "Test"; // 오류: null 문자가 저장될 공간 부족

2.2 char 배열의 초기화 및 접근

2.2.1 수동 초기화

개별 문자를 배열에 직접 할당할 수 있습니다.

char arr[4];
arr[0] = 'C';
arr[1] = '+';
arr[2] = '+';
arr[3] = '\0';

2.2.2 문자열 출력

문자열 출력 시 cout에 배열명을 전달하면 \0까지 출력됩니다.

cout << arr;  // 출력: C++

2.3 char 배열과 포인터

2.3.1 배열 이름과 포인터의 관계

char 배열은 함수에 전달될 때 포인터로 취급되며, 포인터 연산을 통해 문자열을 순회할 수 있습니다.

void printChars(char* p) {
    while (*p != '\0') {
        cout << *p;
        ++p;
    }
}

3. 마무리

char 배열은 null 종료 문자를 기반으로 한 저수준 문자열 표현 방식입니다. C++에서 std::string이 일반적으로 선호되지만, C 스타일 라이브러리와의 호환 또는 메모리 직접 제어가 필요한 상황에서는 여전히 유용하게 사용됩니다. 배열과 포인터 간의 관계, null 문자의 역할 등은 char 배열의 핵심적인 요소입니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!
위로 스크롤