C 스타일 문자열 Part 2
Coddy C++ 여정의 기초 섹션에 포함된 레슨 — 74개 중 68번째.
특정 크기로 C 스타일 문자열을 선언할 때, 저장하려는 문자들을 위한 충분한 공간에 널(null) 문자를 위한 추가 공간 하나를 더해서 할당해야 한다는 점을 기억하는 것이 중요합니다.
예를 들어:
// 올바름: "Hello"는 6개의 공간이 필요합니다
// (5글자 + '\0')
char str1[6] = "Hello";// 틀림: 배열이 너무 작습니다!
// "Hello"는 6개의 공간이 필요하지만, 5개만 제공되었습니다
char str2[5] = "Hello";
// 이로 인해 문제가 발생할 수 있습니다// 올바름: 추가 공간은 괜찮습니다
// 충분한 공간 (10 > 6 필요함)
char str3[10] = "Hello";// 문자 수를 보여주는 예시:
char name[5] = "John"; // 5개의 공간이 필요합니다:
// J + o + h + n + '\0' = 5개의 문자배열 표기법을 사용하여 C 스타일 문자열의 개별 문자에 액세스할 수 있습니다:
char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'배열의 범위를 벗어나지 않는 한, C 스타일 문자열의 문자를 수정할 수도 있습니다:
char str[] = "Hello";
str[0] = 'J';
std::cout << str; // "Jello"를 출력합니다하지만 C 스타일 문자열은 선언된 이후에 새로운 문자열을 직접 할당할 수 없습니다. 문자열을 복사하려면 strcpy와 같은 함수를 사용해야 하며, 이는 나중 레슨에서 다룰 예정입니다.
치트 시트
C 스타일 문자열을 선언할 때, 모든 문자와 널 종료 문자 '\0'를 위한 공간 하나를 더해 할당하세요:
// 올바름: "Hello"는 6개의 공간이 필요합니다 (5글자 + '\0')
char str1[6] = "Hello";
// 잘못됨: 배열이 너무 작습니다!
char str2[5] = "Hello"; // 문제가 발생할 수 있습니다
// 올바름: 여유 공간이 있어도 괜찮습니다
char str3[10] = "Hello";배열 표기법을 사용하여 개별 문자에 접근하세요:
char str[] = "Hello";
char first = str[0]; // 'H'
char third = str[2]; // 'l'배열 범위 내에서 문자를 수정하세요:
char str[] = "Hello";
str[0] = 'J';
std::cout << str; // "Jello"를 출력합니다참고: 선언 후에는 C 스타일 문자열에 새 문자열을 직접 할당할 수 없습니다. 문자열 복사를 위해 strcpy와 같은 함수를 사용하세요.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.