EASY7
[C언어 15강] 문자열은 배열이다 , strlen 본문
문자배열(=문자열)
우리가 알고 있는 문자열(char)데이터는 그 자체가 배열이다.
char타입은 1차원 배열을 의미
char sample[5];
char sample[]="hello";
char sample[]={'h','e','l','l','o','\0'};
h |
e |
l |
l |
o |
\0 |
5개 요소로 이루어진 배열이고 index는 0~4
\0은 null문자로 문자열이 끝났음을 의미
컴파일러가 자동으로 문자열뒤에 null 붙여줌.
#include<stdio.h>
void main()
{
char arr[]="hello";
printf("%s", arr);
}
hello라고 뜸!!
arr은 처음 문자열의 주소를 기억한다.
그럼 h가 있는 곳으로 가서 null을 만날 때까지 읽는다.
strlen(char *string)함수
문자열의 길이를 계산하여 리턴함.
#include<stdio.h>
#include<string.h>
void main()
{
char sample[]="the power program language c";
printf("현재 문자열 길이는 %d\n",strlen(sample));
}
strlen은 절대로 \0까지 갯수 세지 않는다!!!
스페이스는 갯수 센다!!!
'개발 공부 > C' 카테고리의 다른 글
[C언어 17강] 두 문자열을 비교하는 strcmp() (0) | 2016.07.09 |
---|---|
[C언어 16강] gets()와 scanf() 문자열 입력받기 (0) | 2016.07.08 |
[C언어 14강] 함수와 배열을 이용한 실습 (0) | 2016.07.08 |
[C언어 13강]함수에서 배열 사용하기 (0) | 2016.07.08 |
[C언어 12강] 배열이란 무엇인가 (0) | 2016.07.07 |
Comments