티스토리 뷰

목차


    반응형
    strlen 함수의 원형
    size_t strlen(const char* s);

    기본적으로 문자열의 끝에는 문자열의 끝을 알리는 null이 있다.
    strlen 함수는 null문자 이전 까지의 길이만 계산하여 리턴해 준다.

    원형을 보고 아는 사람도 있겠지만. strlen() 괄호 안의 매개변수는 "문자열주소" 이다.
    배열의 이름은 그 시작 배열의 주소와 동일하기 때문에 가능하다.

    strlen()은 그런 일이 별로 없지만 다른 문자열 관련 함수들에서 혼동하는 경우가 있다.


    하지만, str[strlen(str)] 즉, str[4] 라고 하면 마지막 글자인 t 가 나올까?
    여기가 함정이다. 4글자가 맞고. null 전까지 계산한게 맞다. 하지만, 배열은 0번부터 시작이다.

    따라서 마지막 글자인 t는 str[3] 에 들어 있다. 그러므로 str[strlen(str)-1] 을 해줘야 한다.
    만약 -1을 해주지 않으면 그 자리에는 문자열의 끝인 null이 들어 있어서 공백으로 나올 것이다.


    유용한 정보가 되셨다면 아래 손가락 버튼 한번 눌러주세요 ^-^
     

    반응형