문자열 다루기
1. 문자열의 개념
C 언어에서 문자와 문자열은 다르게 다룹니다.
1.1. 문자의 특징
- 단일 문자는 작은따옴표(
' '
)로 표현 (예:'A'
) char
형으로 선언 (예:char a;
)- 입출력 시
%c
형식 지정자 사용
1.2. 문자열의 특징
- 문자열은 큰따옴표(
" "
)로 표현 (예:"A"
,"ABC"
) - 표시 방법
- 문자 배열 선언:
char a[10];
- 포인터 변수 선언:
char *a;
- 문자 배열 선언:
- NULL 문자(
\0
)- 문자열의 마지막은 항상 NULL(
\0
) - 문자열 배열은 "문자열+1" 크기로 선언 필요
- 출력 시 NULL 전까지 출력
- 입출력 시
%s
형식 지정자 사용
- 문자열의 마지막은 항상 NULL(
1.3. 문자 배열 초기화
-
개별 문자 초기화:
char test[10] = {'a','b','c','d','\0'};
-
문자열 리터럴 초기화:
char test[10] = "abcd"; // 마지막에 NULL 자동 포함
-
빈 문자열 초기화:
char test[10] = " ";
-
크기 명시 없이 초기화:
char test[] = "abcd";
-
포인터를 통한 초기화:
char *test = "abcd"; // 읽기 전용, 변경 불가
주의:
- NULL 전까지의 문자만 출력
- 이미 선언된 배열에 문자열 리터럴 직접 대입 불가 (선언 즉시 초기화 필요)
- 이미 선언된 배열은 각 인덱스에 문자 입력 가능