# 문자열(string)
<div class="embed-responsive embed-responsive-16by9">
<iframe src="https://www.youtube.com/embed/-xd9a35wv2c" frameborder="0" allowfullscreen></iframe>
</div>
## 목차
1. 문자열이란?
2. 문자열 생성
3. 문자열 활용
## 1. 문자열이란?
문자열이란, 문자(char)의 배열(array)이다. 문자열은 일반 배열과 달리 `\0`이 추가된다.

## 2. 문자열 생성
문자열은 다양한 방법으로 생성 가능하다.
```
// 배열로 만들기
char name[] = "Hong Park";
// 포인터로 만들기
char *gender = "male";
// 고정크기 배열로 만들기
char hometown[10] = "Seoul";
```

## 3. 문자열 활용
`string.h` 라이브러리에는 문자열을 다루기 위한 다양한 함수가 존재한다.
해당 라이브러리를 사용하려면 먼저 `#include <string.h>`를 추가해야한다.
### 3.1 문자열 길이 측정
```
// 문자열 생성
char city[8] = "Pusan";
// 길이 측정
int city_size = strlen(city);
// 출력 => 문자열(Pusan)의 길이: 5
printf("문자열(%s)의 길이: %d\n", city, city_size);
```
### 3.2 문자열 비교
```
// 문자열 생성
char firstname[8] = "Sehong";
// 이름이 같다면?
if (strcmp(name, "Hong") == 0)
printf("홍님, 반갑습니다!\n");
else // 다르면?
printf("당신은 홍님이 아니군요!!\n");
```
### 3.3 문자열 연결
```
// 문자열 생성
char dest[15] = "Hello,";
char src[] = "World!";
// 문자열 연결
strcat(dest, src);
// 출력 => Hello,World!
printf("%s\n", dest);
```
### 3.4 문자열 복사
```
// 문자열 생성
char *origin = "ABC";
char copy[5] = "";
// 문자열 복사
strcpy(copy, origin);
// 출력 => ABC
printf("%s\n", copy);
```