티스토리 뷰

BackEnd/C

[7일차] 1. 문자열(char형 배열)

JINSUKUKU 2021. 2. 16. 22:50

2021.02.16.화

char형 배열
char 배열명[크기] = "문자열" ;

✔  문자열은 문자와 문자의 조합이므로, char형 배열을 사용해 저장한다.

✔  문자열을 대입연산자를 사용하여 위와 같이 배열에 저장하고자할 때는 반드시 선언과 동시에 초기화를 해주어야한다.

✔  이미 선언된 배열에 문자열을 저장하고자 한다면 배열의 요소에 문자를 하나하나 저장해야한다.

char str[6];
str[0] = 'a';
str[1] = 'p';
str[2] = 'p';
str[3] = 'l';
str[4] = 'e';

✔  문자열의 길이는 알 수 없으므로, 배열의 마지막에 null(\0, null 종단 문자)을 저장하여 문자열이 끝났음을 알린다.

✔  즉, 배열의 크기는 문자열의 길이 +1이 되어야한다.

char str[10];
scanf("%s", &str);
printf("%s", str);

✔ 문자열은 char형 배열에 저장하므로, 형식지정자 %s를 사용한다.

 

 

문자열 전용 입출력 함수
char str[20];
gets(str);

✔ scanf()는 띄어쓰기(space)와 개행(enter) 모두 입력의 종료로 인지하므로, 띄어쓰기가 포함된 문장을 입력할 수 없다.

✔ 문자열 전용 입력 함수인 gets()는 개행을 입력의 종료로 인지하므로, 띄어쓰기가 포함된 문장도 입력할 수 있다.

✔ scanf()와 마찬가지로, gets() 또한 버퍼 오버플로우가 발생할 수 있으니 안전하게 gets_s()를 사용하길 권장.

char str[20]="Hello World";
puts(str);

✔ printf()에는 개행이 포함되어 있지 않지만, puts()의 경우 문자열을 모두 출력하고 \0을 만나면 개행한다.

 

 

 

 

[참고] 한빛미디어-혼자 공부하는 C언어 유튜브 강의 / 엘리스 트랙-혼자 공부하는 C언어 / 길벗-C언어 코딩도장 / 위키백과

'BackEnd > C' 카테고리의 다른 글

[8일차] 포인터의 선언과 사용  (0) 2021.02.17
[7일차] 2. 문자열 관련 함수 정리  (0) 2021.02.17
[6일차] 2. 배열  (0) 2021.02.15
[6일차] 1. 재귀 호출 함수  (0) 2021.02.15
[5일차] 숙제 - 코드업 1562.  (0) 2021.02.14
댓글
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday