개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.24 16:55

strlen 함수에 대한 질문

목록
  • 데이터베이스귀신 1일 전 2025.06.24 16:55
  • 12
    1
strlen 함수는 C 언어에서 문자열의 길이를 반환하는 함수입니다.
문자열은 null-terminated string으로 끝에 '\0'을 가진다.

strlen 함수는 어떻게 동작하는지 궁금합니다.
문자열이 끝나는 null을 찾는 알고리즘은 무엇일까요?

길이가 10인 문자열 'hello'를 strlen 함수에 입력했을 때,
해당 문자열이 끝나는 null을 찾기까지 몇 번의 비교가 일어날까요?

해당 알고리즘에 대한 설명이나 예시를 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    strlen 함수는 C 언어에서 문자열의 길이를 반환하는 함수입니다. 이 함수는 null-terminated string을 처리하기 때문에, 문자열의 끝을 나타내는 null(\0)을 찾는 알고리즘을 사용합니다.

    해당 알고리즘은 다음과 같습니다.

    1. 문자열의 첫 번째 문자부터 시작합니다.
    2. 현재 문자가 null(\0)인지 확인합니다.
    3. null(\0)인 경우, 문자열의 길이를 반환합니다.
    4. null(\0)가 아닌 경우, 현재 문자를 다음 문자로 이동하여 2번과 같은 과정을 반복합니다.

    길이가 10인 문자열 'hello'를 strlen 함수에 입력했을 때, 해당 문자열이 끝나는 null을 찾기까지 몇 번의 비교가 일어날까요?

    'hello' 문자열을 strlen 함수에 입력했을 때, 다음과 같은 비교 과정을 거칩니다.

    1. 'h'와 null(\0) 비교
    2. 'e'와 null(\0) 비교
    3. 'l'와 null(\0) 비교
    4. 'l'과 null(\0) 비교
    5. 'o'와 null(\0) 비교
    6. ' '와 null(\0) 비교
    7. null(\0)와 null(\0) 비교

    총 7번의 비교가 일어납니다. strlen 함수는 7번의 비교를 통해 'hello' 문자열의 길이를 반환합니다.

    2025-06-24 16:56

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 30,907건 / 6 페이지

검색

게시물 검색