Page 305 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 305

8-1을 통해 알아보겠습니다. 이 프로그램은 "STRING"을 구성하는 모든 문자의 값을 16진수

                        와 2진수로 출력합니다.

                          실습 8-1                                                 •완성 파일 chap08/strdump.c
                         01  /* 문자열 안의 문자를 16진수와 2진수로 출력합니다. */                         실행 결과
                         02  #include <stdio.h>
                                                                                     S  53  01010011
                         03  #include <limits.h>                                     T  54  01010100
                         04                                                          R  52  01010010
                         05  /*--- 문자열 안의 문자를 16진수와 2진수로 출력하는 함수 ---*/               I  49  01001001
                         06  void str_dump (const char *s)                           N 4E 01001110
                         07  {                                                       G 47  01000111
                                                                                       00  00000000
                         08    do {
                         09      int i;
                         10      printf("%c %0*X ", *s,(CHAR_BIT + 3) / 4, *s);
                         11      for(i = CHAR_BIT - 1; i >= 0; i--)
                         12        putchar(((*s >> i) & 1U) ? '1' : '0');
                         13      putchar('\n');
                         14    } while(*s++ != '\0');
                         15  }
                         16
                         17  int main (void)
                         18  {
                         19    str_dump("STRING");
                         20    return 0;
                         21  }



                        프로그램을 실행하면 위와 같은 결과를 확인할 수 있습니다. 그런데 문자열 리터럴은 내용을 자

                        유롭게 바꿀 수 없습니다. 자유롭게 읽고 쓰는 문자열은 배열로 구현해야 합니다.



                            보충수업 8-1   문자열 리터럴

                        여기서는 문자열 리터럴의 특징을 간단히 알아보겠습니다.


                        1. 문자열 리터럴의 자료형
                        문자열 리터럴의 자료형은 char형 배열입니다. 그러나 문자열 리터럴의 표현식을 평가하여 얻는 자료
                        형은 char *형이고 그 값은 첫 번째 문자에 대한 포인터입니다. 예를 들어 문자열 리터럴 "STRING"을
                        평가하면 첫 번째 글자 'S'에 대한 포인터를 얻습니다.






                                                                                      08•문자열 검색  305
   300   301   302   303   304   305   306   307   308   309   310