문자열 길이를 취득하고 싶은 경우 사용하는 함수인 strlen은 <string.h>의 헤더 파일 안에 있는 함수입니다.
strlen 함수는 해당 문자열의 길이를 계산해 반환입니다.
문자열의 길이는 문자열을 구성하는 문자의 개수를 만을 반환하면 문자열 끝에 붙어 있는 종료 문자인 \0을 제외한 문자 개수입니다.
문자열 뒤에 붙은 공배 또한 자릿수로 계산하지 않습니다.
strlen
strlen 함수 사용법을 알아보겠습니다.
strlen(const char *str);
파라미터로는 char* 타입의 문자열을 설정합니다.
반환값은 문자열 길이를 반환합니다.
#include <stdio.h>
#include <string.h>
int main(void) {
char s1[10] = "Hello";
char s2[10] = "He\0llo";
printf("s1 문자열 길이 : %d\n", strlen(s1));
printf("s2 문자열 길이 : %d\n", strlen(s2));
}
결과
s1 문자열 길이 : 5
s2 문자열 길이 : 2
문자열 길이를 반환했습니다.
결과에서도 알 수 있듯이 변수 s2의 문자열 길이를 보면 \0 전 문자열 자릿수만 반환했습니다.
문자 중간에 \0이 있는 경우에는 문자열이 끝난 것으로 인식하기 때문입니다.
그리고 strlen는 해당 문자열의 크기가 아니라 길이를 리턴합니다.
s1변수를 선언할 때 크기를 s1[10]으로 크기를 설정했지만 대입한 문자는 “Hello”이렇게 5 문자입니다.
문자열 배열의 크기를 알고 싶은 경우는 함수 sizeof()를 사용합니다.
댓글