Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 문자열 길이를 구하는 프로그램

C 언어에서 문자열(string)은 사실 널(null) 문자 '\0'으로 끝나는 1차원 문자 배열입니다. 즉, 널 종단(null-terminated) 문자열은 문자열을 구성하는 문자들 뒤에 널 문자가 이어지는 형태를 가집니다.

문자열의 길이를 구하려면 반복문을 사용하여 문자열의 처음부터 시작해 '\0' 문자를 만날 때까지 각 문자를 하나씩 세어야 합니다.

예시

입력 − naman

출력 − 문자열 길이는 5

설명 − 문자열의 각 인덱스를 순서대로 순회하며, 문자열의 끝을 의미하는 널 문자 '\0'에 도달할 때까지 반복합니다.

예제 코드

#include <stdio.h>
#include<string.h>
int main() {
    char string1[]={"naman"};
    int i=0, length;
    while(string1[i] !='\0') {
       i++;
    }
    length=i;
    printf(" string length is %d",length);
    return 0;
}

출력 결과

string length is 5

strlen() 함수 활용하기

위 예제처럼 반복문을 직접 작성하지 않고도, C 표준 라이브러리의 <string.h> 헤더에 포함된 strlen() 함수를 사용하면 문자열의 길이를 간편하게 구할 수 있습니다.

#include <stdio.h>
#include <string.h>
int main() {
    char string1[] = "naman";
    int length = strlen(string1);
    printf("string length is %d", length);
    return 0;
}

strlen() 함수는 널 문자를 제외한 실제 문자 개수를 반환하므로, 코드가 더 간결하고 가독성이 좋아집니다. 다만 문자열 길이를 계산하는 원리 자체를 이해하려면 위의 반복문 방식을 함께 익혀두는 것이 좋습니다.