1 / 12

문자열

문자열. 문자열의 소개 문자열의 입출력 null 및 에스케이프 (ESC) 문자 문자열 배열 변환 및 연산 문자열 관련 표준 함수. 문자열 (string) 이란 ? 문자의 일차원 배열 , 끝이 반드시 (null) “ 를 제외하고 모두 포함할 수 있다 . 문자열과 문자의 차이 char a; a = ‘ k ’ 문자 1 자 저장 () 無 char a[] = “ Korea ” ; k o r e a

becky
Télécharger la présentation

문자열

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 문자열 문자열의 소개 문자열의 입출력 null 및 에스케이프(ESC) 문자 문자열 배열 변환 및 연산 문자열 관련 표준 함수

  2. 문자열(string)이란? 문자의 일차원 배열, 끝이 반드시 \0 (null) “를 제외하고 모두 포함할 수 있다. 문자열과 문자의 차이 char a; a = ‘k’문자 1자 저장 (\0)無 char a[] = “Korea”; k o r e a \0 char a[] = {‘K’, ‘o’, ‘r’, ‘e’, ‘a’, ‘\0’}; char *ptr = “Korea”; [예 10.1] strlen(s2) + 1 ?? 문자열의 소개

  3. 문자열의 입출력 • 포인터를 증가하면서 문자열 출력 • [예 10.2] char p[] = “Korean”; char *a; int I = sizeof(p) - 1; a = p; while(I--) printf(“%s”, a++); [결과]Korean orean rean

  4. 문자열의 입출력(계속) • 화면 입출력 (scanf) [예 10.3] 화면에서KOREA (SP) FIRST (ENTER)치면 메모리상에서 K O R E A \0 F I R S T \0 • scanf는 화면에서 SP나 ENTER를 만나면 \0로 변환

  5. 문자열의 입출력(계속) • 화면 입출력 (gets) 화면에서KOREA (SP) FIRST (ENTER)치면 메모리상에서 K O R E A F I R S T \0 • gets는 화면에서 ENTER를 만나면 \0로 변환 • 스트링만 입력하기에 편리

  6. line[0] \0 ... ... Null 문자 • Null 문자 (\0) • 문자 스트링의 끝을 표시 • 예 Static char line[80] = “”; strlen(line) ==> 0 sizeof(line) ==> 80 * “” vs “ “ (blank, space) 의미

  7. 에스케이프 문자 • \ (back slash)를 앞세우는 문자 • 화면에는 출력되지 않는다 • 출력 형태 제어, 인용부호 출력 • [표 10.1] \0 null 문자 \n new line \”이중 인용 부호 \b back space

  8. 문자열의 배열 • char *s[] = {“We”, “are”, “Kim”}; • s는 포인터가 저장된 배열, 각각 we, are, kim을 포인팅하고 있다. • char **ps[] = {s, s+1, s+2}; • ps는 포인터가 저장된 배열, 각각은 s, s+1, s+2라는 주소를 포인팅하고 있다. • 2번 따라가야 실제 값이 있다. • char ***pps = ps; • ps를 pps에 넣는다. Pps는 3번 참조로 값

  9. 변환 및 연산 • 문자의 ASCII 코드 값과 문자 자체 구별 • int a = 200; • printf(“case 1 : %d”, a); ==> 200 • printf(“case 2 : %c”, ‘a’); ==> a • printf(“case 3 : %c”, 97); ==> a • printf(“case 4 : %d”, ‘a’); ==> 97 • printf(“case 5 : %d”, ‘a’+1); ==> 98 • printf(“case 6 : %c”, ‘a’+1); ==> b

  10. 문자열 관련 표준 함수 • #include <string.h> • strcat(s1, s2): s1과 s2연결, s1 포인터 반환 • strlen(s): 문자열 s의 길이 반환 • strcmp(s1, s2): s1과 s2 비교, 같으면 0 반환 • strcpy(s1, s2): s2를 s1에 복사하고, s1 반환 • strchr(S, c): S 스트링에서 문자 c가 나타나는 첫번째 주소를 반환

  11. 문자열 관련 예제 프로그램 • 표준 문자열 함수를 활용한 프로그램 작성 • 아래와 같은 함수를 직접 작성 • strcat • strlen • strcmp • strcpy

  12. SUMMARY • 문자열과 문자 • 문자열의 입출력 방법 • null 및 에스케이프(ESC) 문자 • 문자열 배열 • 변환 및 연산 • 문자열 관련 표준 함수 (암기)

More Related