EASY7

[C언어 15강] 문자열은 배열이다 , strlen 본문

개발 공부/C

[C언어 15강] 문자열은 배열이다 , strlen

E.asiest 2016. 7. 8. 11:35

 

 

 

문자배열(=문자열)

우리가 알고 있는 문자열(char)데이터는 그 자체가 배열이다.

char타입은 1차원 배열을 의미

 

char sample[5];

char sample[]="hello";

char sample[]={'h','e','l','l','o','\0'};

 h

e

 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까지 갯수 세지 않는다!!!

스페이스는 갯수 센다!!!

 

 

 

 

 

Comments