프로그래밍언어/C언어[초급]

[C언어][초급] Chapter46. 문자열 함수 – strlen 함수로 문자열 길이 재기

about_IT 2025. 4. 18. 20:41
728x90

C언어에서는 문자열을 다루기 위한 여러 가지 함수들이 존재합니다.
그중 가장 기본적인 함수가 strlen입니다. 이 함수는 문자열의 길이를 재는 데 사용됩니다.

strlen 함수는 문자열의 문자 개수를 반환합니다. 단, 문자열 끝의 널 문자('\0')는 포함하지 않습니다.


● strlen 함수 사용법

#include <string.h>

int len = strlen("Hello");

결과는 5입니다. Hello에는 문자 5개가 있고 널 문자는 제외됩니다.


● 문자열 변수에 적용

char name[] = "Alice";
int len = strlen(name);

문자열이 저장된 변수에 대해서도 동일하게 사용할 수 있습니다.


● strlen과 배열 크기의 차이

char str[20] = "Hi";
  • strlen(str): 결과는 2 (H, i)
  • sizeof(str): 결과는 20 (배열 전체 크기)

strlen은 실제 문자 개수를 알려주고, sizeof는 메모리 크기를 알려줍니다.


● strlen 사용 시 주의

  • 널 문자('\0')가 없으면 strlen은 멈추지 않아 오류가 날 수 있습니다.
  • 반드시 문자열이 정상적으로 종료되어 있어야 합니다.

strlen 함수는 문자열 처리의 기초입니다.
문자열을 다룰 때 크기나 길이 비교, 조건 판단 등에 자주 활용되므로 잘 익혀두세요.


● 실습 문제

문제 1

문자열 "banana"의 길이를 strlen으로 구해 출력하세요.

 

문제 2

사용자로부터 문자열을 입력받아 해당 문자열의 길이를 출력하세요.

 

문제 3

strlen과 sizeof의 차이를 설명하고, 각각 어떤 경우에 쓰는지 예시를 드세요.

 

문제 4

배열 char word[100]에 "C programming"을 저장했을 때 strlen 결과는?

 

문제 5

strlen을 사용할 때 주의해야 할 점 한 가지를 작성하세요.



















































▶ 정답 확인하기

정답 1

#include <string.h>
printf("%lu\n", strlen("banana"));

 

정답 2

char str[100];
scanf("%s", str);
printf("길이: %lu\n", strlen(str));

 

정답 3

strlen: 실제 문자열의 길이 (문자 수)
sizeof: 배열 전체의 메모리 크기
예: char str[20] = "Hi"; → strlen은 2, sizeof는 20

 

정답 4

strlen 결과는 12입니다. 공백 포함한 글자 수만큼 반환되며, 널 문자는 제외됩니다.

 

정답 5

문자열 끝에 널 문자가 없으면 strlen은 멈추지 않아 잘못된 결과를 내거나 오류가 발생합니다.

728x90