string.h 헤더 파일에 선언 필요
>> #include <string.h>
strlen(문자열 포인터);
strlen(문자 배열);
>> 문자열의 길이 반환
#include <stdio.h>
#include <string.h> // strlen 함수가 선언된 헤더 파일
int main()
{
char* a = "Hello"; // 포인터에 문자열 Hello의 주소 저장
char arr[10] = "Hello"; // 크기가 10인 char형 배열을 선언 초기화
printf("%d\n", strlen(a)); // 5
printf("%d\n", strlen(arr)); // 5
}
strlen(a)와 같이 strlen 함수에 문자열 포인터를 넣으면 문자열의 길이가 반환
strlen(arr)와 같이 strlen 함수에 문자열이 들어있는 배열을 넣으면 배열 안에 들어있는 문자열의 길이가 반환
strlen으로 문자열 길이를 구할 때는 오직 문자열의 길이만 구하며 NULL 부분은 포함하지 않음
배열의 크기는 문자열의 길이와 전혀 상관이 없다
배열의 크기가 크던 작던 문자열의 길이만 구함
※ 문자열 중간에 '\0' 값을 만나면 strlen()이 '\0' 확인 후 그 길이 까지만 반환
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[100] = "HelloHello";
char arr2[100] = "Hello\0Hello";
printf("%d\n", strlen(arr1)); //10
printf("%d\n", strlen(arr2)); //5
}
'C > C' 카테고리의 다른 글
배열 1 - 배열의 선언과 접근 , 초기화 (0) | 2022.10.04 |
---|---|
포인터 pointer 4 - 이중 포인터, 주의할 점 (0) | 2022.10.04 |
포인터 pointer 3 - void 포인터 (0) | 2022.10.03 |
포인터 pointer 2 - 자료형 포인터 와 const (0) | 2022.10.02 |
포인터 pointer 1 - & 과 역 참조 (0) | 2022.10.01 |