기본 패턴
c
char name[16] = "Mina";
size_t length = strlen(name);설명
- C 문자열은 사실상
char배열이며, 끝에는 널 종료 문자\0가 붙습니다. - 문자열 길이는 메모리 크기와 다를 수 있으므로
strlen으로 실제 길이를 구합니다. - 문자열 비교는
==가 아니라strcmp를 씁니다. - 문자열 복사는
strcpy, 길이를 제한한 복사는strncpy계열을 이해하고 써야 합니다.
짧은 예제
c
#include <stdio.h>
#include <string.h>
int main(void) {
char city[16] = "Seoul";
char copy[16];
strcpy(copy, city);
printf("length=%zu same=%d\n", strlen(copy), strcmp(city, copy) == 0);
return 0;
}빠른 정리
| 항목 | 설명 |
|---|---|
char[] | 문자열을 담는 가장 기본적인 형태 |
\0 | 문자열 끝을 나타내는 문자 |
strlen | 문자열 길이 계산 |
strcmp | 문자열 사전식 비교 |
strcpy | 한 문자열을 다른 버퍼로 복사 |
주의할 점
버퍼 크기보다 긴 문자열을 복사하면 메모리를 덮어쓸 수 있습니다. 문자열은 항상 버퍼 크기와 널 종료 문자까지 함께 생각해야 합니다.