현승일 교수
12주차 2강. 문자열 배열
학습내용
학습목표 1. 문자열 배열
2. 문자열 처리 함수
1. 문자열 배열에 대해 설명할 수 있다.
2. 문자열 처리 함수의 종류에 대해 설명할 수 있다.
◉ 문자열 배열
1. 문자열 배열(1)
• 일반적인 문자열 – 1차원 문자배열 이용
• 여러 개의 문자열을 다룰 경우 – 2차원 문자 배열 사용
→ 문자열 테이블(String Table)이라고 함 (예) char names[4][20];
이름이 20 byte를 넘지 않는 4명을 저장
◉ 문자열 배열
(예) char names[4][20];
names[0], names[1], names[2], names[3]
• 2차원 배열에서 첨자를 하나만 사용하면 행의 시작주소를 가리킴 – 시작주소를 이용하여 문자열을 제어할 수 있음 (예) gets(names[0]);
printf(“성명 : %s \n”, names[0]);
1. 문자열 배열(2)
◉ 문자열 배열
1. 문자열 배열(3)
◉ 다양한 문자열 처리 함수
2. 문자열 처리 함수(1)
함수명 동작
strstr(str1, str2) • str1 문자열 안에서 str2 문자열을 찾음
• 찾으면 str1에서 찾은 문자열의 시작주소가 반환됨 strupr(문자 배열) • 문자열을 모두 대문자로 변환하여 배열에 저장함 strlwr(문자 배열) • 문자열을 모두 소문자로 변환하여 배열에 저장함 toupper(한 문자) • 한 문자를 대문자로 변환함
tolower(한 문자) • 한 문자를 소문자로 변환함
◉ strstr 함수
2. 문자열 처리 함수(2)
#include <string.h>
char *strstr(const char *string1, const char *string2);
string1 : searched string
string2 : string to search for
• strstr 함수는 sting1에서 string2가 처음 나타나는 위치를 돌려줌
◉ strstr 함수
2. 문자열 처리 함수(3)
◉ 기타 함수별 원형
2. 문자열 처리 함수(4)
#include <string.h>
char *strupr( char *string); // 문자열을 대문자로 변환 char *strlwr( char *string); // 문자열을 소문자로 변환 char *strdup(const char *string);
// 문자열 처리를 위해 메모리에 문자열을 임시로 복사해 두는 함수 int toupper(int c); // 입력된 문자를 대문자로 변환
int tolower(int c); // 입력된 문자를 소문자로 변환
◉ strupr, strlwr, strdup 함수
2. 문자열 처리 함수(5)
◉ toupper, tolower 함수
2. 문자열 처리 함수(6)
정리하기
함수명 동작
strstr(str1, str2) • str1 문자열 안에서 str2 문자열을 찾음
• 찾으면 str1에서 찾은 문자열의 시작주소가 반환됨 strupr(문자 배열) • 문자열을 모두 대문자로 변환하여 배열에 저장함
strlwr(문자 배열) • 문자열을 모두 소문자로 변환하여 배열에 저장함 toupper(한 문자) • 한 문자를 대문자로 변환함
tolower(한 문자) • 한 문자를 소문자로 변환함
1. 문자열 배열
- 여러 개의 문자열을 다룰 경우 – 2차원 문자 배열 사용
→ 문자열 테이블(String Table)이라고 함
(예) char names[4][20]; // 이름이 20 byte를 넘지 않는 4명을 저장 2. 문자열 처리 함수
다음시간에는…
에 대해 학습해 보겠습니다.
참고문헌