char str[6];
str[0] = 'h';
str[1] = 'e';
str[2] = 'l';
str[3] = 'l';
str[4] = 'o';
str[5] = '\0';
6칸의 배열을 가진 문자열에 str 'hello'
를 넣으면 str[0]
부터 순서대로 들어간다. 그럼 마지막에 str[5] = '\0';
은 무엇일까?
\0는 null charactor
이다. 직번역 하면 의미없는 문자라는 뜻이다. 문자열의 끝에 들어가는데 그때 '\0'은 문자열의 끝을 표시하는 역할을 한다. 즉, 배열의 크기가 문자열의 길이보다 적어도 1만큼 길어야 한다.
char str[] = "hello";
C 언어에서 char str[]
문자열의 배열을 생성한 후 "string"
배열에 넣고 싶은 스트링에 ""
를 붙이면 C 언어가 컴파일 할 때 스트링의 길이에 맞게 배열을 생성한다.
"hello"
라고 하면 C는 자동으로 6개의 배열을 만든다.
그리고 C 언어에서 문자열을 생성하는 방법이 하나 더 있다.
char *str = "hello";
하지만 위의 코드는 문자열을 한번 정의하면 수정이 불가능 하다. 이것을 string literal 이라고 한다.
명령어 | 실행 결과 |
---|---|
strcpy | 문자열 복사 |
strlen | 문자열의 길이 |
strcat | 문자열 합치기 |
strcmp | 문자열 비교 |