7월 3주차_C Study 2. 문자열

2023. 7. 22. 15:05language : p_study/c language

7월 3주차 학습 할 C언어 study 목차는 다음과 같다.

 

1. 포인터
2. 문자열

 

2. 문자열

 

문자열은 큰 따옴표를 이용하여 표현된다.

"A"
"Hello"

위처럼 큰 따옴표로 표시하는 문자열은 문자열 상수라고 하며 문자열 상수는 변경이 불가능하다.

 

문자열 "Hello"를 저장하려면 다음과 같이 문자형 배열을 선언하고 초기화해야한다.

char str[6] = "Hello" ;

5개의 문자인데 왜 배열의 크기가 6일까? 이유는 c에서는 문자열의 끝이 반드시 NULL 문자라는 특수한 값으로 끝나야하기때문이다.

NULL 문자는 아스키 코드값이 0이고 문자로는 \0으로 표현된다.

문자열은 정수형과 다르게 사용되는 바이트의 개수가 항상 일정하지 않기 때문에 사용되지 않는 부분에 쓰레기값이 들어가지 않도록 해주기위해 \0을 표시해주는 것이다.

 

✔ 문자형 배열의 초기화 종류

 

char str [6] = { 'H', 'e', 'l', 'l' ,'o', \n } ;
char str [6]  = "Hello" ;
char str [ ] = "Hello" ; 

 

✔ 문자 입출력

 

함수 설명
getchar() 하나의 문자를 받아서 반환한다. 버퍼를 사용한다.
putchar() 하나의 문자를 받아서 출력한다.
_getch() 하나의 문자를 받아서 반환한다. 버퍼를 사용하지 않는다.
putch() 하나의 문자를 받아서 출력한다.

➡ 예제

 

 

 

 

✔ 문자열 입출력

 

입출력 함수 설명
scanf("%s", s) 문자열을 읽어서 배열 s [ ] 에 저장
printf("%s, s) 배열 s [ ] 에 저장되어 있는 문자열을 출력한다. 
get_s(char s[ ] , int length) 한 줄의 문자열을 읽어서 배열 s[ ] 에 저장한다.
puts(char s[ ] ) 배열 s [ ]에 저장되어 있는 한 줄의 문자열을 출력한다.

➡ 예제

 

 

 

✔ 문자열 처리

 

함수 설명
strlen 문자열 s의 길이를 구한다.
strcpy(s1,s2) s2를 s1에 복사한다.
strcat(s1,s2) s2를 s1의 끝에 붙여넣는다.
strmp(s1,s2) s1과 s2를 비교한다.

 

 

 

 

☑ strlen (문자열 길이)

 

 

 

 

 strcpy(s1,s2) (문자열 복사)

 

 

 

 

 

 strcat(s1,s2) (문자열 연결)

 

 

 

 

 

 strmp(s1,s2) (문자열 비교)

 

 

 

 

 

 

✔ 문자열과 포인터

 

 

 

 

 

 

✔ 문자열의 배열

 

 

 

 

 

 

☑ code up 예제

 

'language : p_study > c language' 카테고리의 다른 글

7월 4주차_C Study 1. 구조체  (0) 2023.08.12
7월 3주차_C Study 1. 포인터  (0) 2023.07.22
7월 3 , 4주차_C Study 계획서  (0) 2023.07.20
7월 2주차_C Study 2. 함수  (0) 2023.07.15
7월 2주차_C Study 1. 배열  (0) 2023.07.15