Page 150 고등학교 프로그래밍 교과서
P. 150










4 포인터로 문자열을 처리하는 방법을 알아보자






C 언어에서 다소 긴 문자열을 지정하는 방법은 배열을 이용하는 방법과 포인터를
이용하는 방법이 있다. 포인터는 배열과 달리 초기화한 후에 ‘=’ 연산자를 이용해 전
체 값을 다시 저장할 수 있다.
포인터 배열
배열의 요소가 포인터인 배열이다. char p = "HelloWorld"; 포인터를 정의하고 문자열의 주소로 포인터 초기화
*
같은 형의 포인터가 여러 개 필요할
p = "Goodbye"; "Goodbye"가 저장된 주소로 포인터의 값 변경
때 사용한다. 예를 들어, January부
터 December까지 1년 12달의 이
름을 한 변수에 저장할 때 유용하게
사용할 수 있다. 포인터를 이용해서 여러 개의 문자열을 저장하려면 포인터 배열을 이용하면 된다.
이 방법은 한 번 입력 후 바뀌지 않는 문자열을 저장할 때 사용한다.

실행 결과 프로그램


여러분이 배워야할 01 #include
언어는 C JAVA 02 int main(void)
PYTHON 03 {
04 char *lang[3] = { "C", "JAVA", "PYTHON" }; 포인터 배열 사용
05 int a;
06 printf("여러분이 배워야 할 언어는");
07 for (a = 0; a < 3; a++) printf(" %s ", lang[a]);
08 return 0;
09 }



미션 해결하기



김소월의 ‘진달래 꽃’이라는 시와 같이 긴 문자열을 저장하는 프로그램을 작성해 보자.


프로그램

01 #include
02 int main(void)
03 {
04 char *p = "진달래꽃 김소월\n\n나 보기가 역겨워\n가실 때에는\n말없이 고이 보내 드리오리다.\n\n영변에 약산\n
진달래꽃\n아름 따다 가실 길에 뿌리오리다.\n\n가시는 걸음걸음\n놓인 그 꽃을\n사뿐히 즈려 밟고 가시옵소
서.\n\n나 보기가 역겨워\n가실 때에는\n죽어도 아니 눈물 흘리오리다.";
05 printf("%s \n", p);
06 return 0;
07 }




148 Ⅱ. C 프로그래밍의 기초





(책)2015프로그래밍-교과서3차심의본 본문.indb 148 2017-09-05 오후 4:16:32
   145   146   147   148   149   150   151   152   153   154   155