본문 바로가기
C언어/함수

[C언어] strlen 문자열 길이를 구하는 함수 : 사용 예시 형식 구현

by 이얏호이야호 2023. 12. 3.

오늘은 strlen에 대해 알아보겠습니다. 문자열에 사용되는 strlen 함수는 무엇일까요?

문자열의 길이를 구하는 함수입니다. null문자를 만날 때까지 문자의 개수를 세서 문자열의 길이를 반환해 줍니다.

처음 만나보면 당황하고 어려울 수 있지만 어렵지 않습니다!

천천히 글을 읽으며 확인해보세요! 

 

1.형식

#include <string.h>

size_t strlen(const char *str);

null문자는 제외하고 문자열 길이를 반환해줍니다.

str은 문자열의 끝인 null까지 문자의 개수를 세는 포인터입니다.

그냥 보면 복잡합니다.  

사용예시를 통해 확인해보시죠!

 

2.사용예시

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

int main() {
    const char *getString = "Hello hi";

    // strlen 함수를 사용하여 문자열의 길이를 구함
    size_t length = strlen(getString);

    // 결과 출력
    printf("문자열: %s\n", getString);
    printf("문자열 길이: %zu\n", length);

    return 0;
}

 

결과
결과

strlen 함수가 null을 만날때까지 문자의 개수를 세서 나온 결과입니다.

Hello hi가 입력된 글자의 길이인 8이 결과로 나온 모습을 확인할 수 있습니다.

특징은 띄어쓰기까지 문자로 인식해서 결과를 반환해주는 모습입니다.

코드를 작성함에 있어서 주의해주세요

이제 코드를 구현해봅시다.

 

3. 구현

핵심은 포인터가 null을 만날때까지 포인터를 증가시키고 문자열의 길이를 계산하는게 핵심입니다.

코드를 보시기 전에 먼저 작성해보시고 코드를 확인해보세요!

#include <stdio.h>

size_t custom_strlen(const char *str) {
    const char *ptr = str;

   
    while (*ptr != '\0') {  // null 문자를 만날 때까지 포인터 증가
        ptr++;
    }


    return (size_t)(ptr - str); // 문자열 길이 반환
}

int main() {
    const char *customString = "Hello hi";

    // 직접 구현한 custom_strlen 함수를 사용하여 문자열의 길이를 구함
    size_t length = custom_strlen(customString);

    // 결과 출력
    printf("문자열: %s\n", customString);
    printf("직접 구현한 문자열의 길이: %zu\n", length);

    return 0;
}

결과2
결과2

결과 역시 같은 모습을 확인할 수 있습니다.

코드입니다. 문자열의 끝까지 (null 문자를 만날때까지) 포인터를 증가시켜서 문자열의 길이를 셌습니다.

코드를 붙여넣어 결과를 확인해보세요!

 

댓글