본문 바로가기

소프트웨어/C

[C] 문자열의 길이를 반환하는 함수 strlen

프로그래머스 level0 문자열 뒤집기 문제를 풀다가 strlen 함수에 대한 이해가 부족하여 구글링해서 풀었었다. 

윤성우 열혈 C프로그래밍 책을 통해 공부한 내용을 정리해봤다. 

https://icegosimperson.tistory.com/29

 

[C] 문자열 뒤집기

문제 설명 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 1,000 입출력 예 my_string return "jaro

icegosimperson.tistory.com

 

strlen 함수란

#include <string.h>
size_t strlen(const char *s);

인자로 전달된 문자열의 길이를 반환하는 함수이다. 문자열과 관련된 문제에서 많이 사용되는 함수이다. 

전달된 문자열의 길이를 반환하되, 널 문자(\0)는 길이에 포함하지 않는다. 

 

 

strlen 함수의 호출 방법

int main(void)
{
	char str[] ="1234567";
	printf("%u\n", strlen(str));
}

7이 출력된다. 

 

 

프로그래머스 level0 문자열 뒤집기 코드 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

char* solution(const char* my_string) 
{
    int p = strlen(my_string);
    char* answer = (char*)malloc(p);
    
    for(int i=0; i<p+1; i++)
        answer[i]=my_string[p-1-i];
    
    return answer;
}

my_string의 문자열 길이를 반환하기 위해 strlen 함수를 사용하였음을 알 수 있다.