반응형
문자열 길이와 메모리 관리 함수
문자열 길이 strlen
주어진 문자열 str의 길이를 계산하는 함수입니다. NULL 문자를 포함하지 않습니다.
함수 원형
size_t strlen(const char *str);
예제
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World!";
printf("Length of string is: %zu\n", strlen(str));
return 0;
}
실행결과
Length of string is: 13
문자열 "Hello, World!"의 길이는 13입니다(널 문자는 포함하지 않음).
문자열 복제 strdup
주어진 문자열 str을 복제하여 새로운 메모리에 할당하는 함수입니다. 메모리 관리를 위해 free()가 필요합니다.
함수 원형
char *strdup(const char *str);
예제
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char original[] = "Duplicate me!";
char *duplicate = strdup(original);
if (duplicate != NULL) {
printf("Original: %s\n", original);
printf("Duplicate: %s\n", duplicate);
free(duplicate);
} else {
printf("Memory allocation failed!\n");
}
return 0;
}
실행 결과
Original: Duplicate me!
Duplicate: Duplicate me!
strdup은 새로운 메모리에 문자열을 복제하여 할당하고 반환합니다. 반환된 포인터를 사용한 후에는 free()로 메모리를 해제해야 합니다.
반응형
반응형