본문 바로가기
IT/c언어

C 언어 strlen 함수

by 뉴코딩맨 2023. 7. 17.
C 언어는 문자열을 다루는 데에 많은 함수를 제공합니다. 그 중 하나인 strlen 함수는 문자열의 길이를 계산하여 반환하는 함수입니다. strlen 함수의 사용 방법과 예제에 대해 알아보겠습니다.
 
 

strlen 함수

strlen 함수는 문자열을 인수로 받아 해당 문자열의 길이를 계산하여 반환합니다. 반환 값은 size_t 형식(부호 없는 정수 형식)입니다.
 
#include <stdio.h>
#include <string.h>

int main() {
   char str[] = "Hello, world!";
   size_t length = strlen(str);

   printf("문자열의 길이: %zu\n", length);

   return 0;
}
 
위의 예제에서 strlen 함수는 문자열 "Hello, world!"의 길이를 계산하여 length 변수에 저장합니다. 이후 printf 함수를 사용하여 길이를 출력합니다. 프로그램을 실행하면 "문자열의 길이: 13"이 출력됩니다.
 
strlen 함수는 문자열의 길이를 계산할 때, 문자열의 마지막을 나타내는 널 문자 (\0)를 제외하고 계산합니다. 따라서 널 문자 이전까지의 문자 개수가 반환되며, 문자열의 실제 저장 공간과는 무관합니다.

 

 

주의 사항

strlen 함수는 널 종료된 문자열을 전달해야 올바른 결과를 반환합니다. 만약 널 종료 문자열이 아닌 문자 배열을 전달한다면, 예기치 않은 동작이 발생할 수 있습니다. 따라서 문자열의 마지막에는 항상 널 문자를 추가해야 합니다.

 

#include <stdio.h>
#include <string.h>

int main() {
   char str[] = { 'H', 'e', 'l', 'l', 'o' };
   size_t length = strlen(str);

   printf("문자열의 길이: %zu\n", length);

   return 0;
}
 
위의 예제에서는 널 종료 문자열이 아닌 문자 배열을 strlen 함수에 전달하였습니다. 이 경우 예기치 않은 동작이 발생할 수 있으며, 올바른 결과를 보장하지 않습니다. 따라서 항상 널 종료된 문자열을 사용해야 합니다.
 

결론

C 언어에서 strlen 함수는 문자열의 길이를 계산하여 반환하는 함수입니다. 문자열의 길이는 널 종료 문자열을 기준으로 계산되며, 널 종료된 문자열을 전달해야 올바른 결과를 얻을 수 있습니다. 이를 통해 문자열의 길이를 쉽게 계산하고 활용할 수 있습니다.
 

 

'IT > c언어' 카테고리의 다른 글

C 언어 strcat strncat 함수  (0) 2023.07.18
C 언어 strcpy strncpy 함수  (0) 2023.07.17
C 언어 fflush 함수  (0) 2023.07.17
C 언어 gets fgets  (0) 2023.07.17
C 언어 puts fputs  (0) 2023.07.17

댓글