프로그래밍

포인터를 이용하여 문자열 처리하기

Dilrong 2013. 10. 1. 14:15

//C로 배우는 쉬운 자료구조(개정판) - 한빛미디어(ex3-9)

#include<stdio.h>

void main()
{
 int i;
 char string1[20]="Dreams come true!", string2[20], *ptr1, *ptr2;

 //ptr1<-string1넣음
 ptr1=string1;
 //ptr1, string1의 주소는 같음(ptr1=string1;)
 printf("\n  string1의 주소 %u \t ptr1=%u", string1, ptr1);
 //ptr1, string1의 값은 같음(ptr1=string1;)
 printf("\n string1 = %s \n ptr1 = %s", string1, ptr1);
 //7번째 부터 출력
 printf("\n\n %s", ptr1+7);
 //ptr2<-string1[7](ptr1+7) 넣음
 ptr2 = &string1[7];
 //값 확인
 printf("\n %s \n\n", ptr2);

 //문자열을 거꾸로 출력
 for(i=16; i>=0; i--)
 {
  putchar(*(ptr1+i));
 }
 //string2<-string1(ptr1)으로 복사
 for(i=0; i<20; i++)
 {
  string2[i] = *(ptr1+i);
 }
 printf("\n\n string1 = %s", string1);
 printf("\n string2 = %s", string2);

 //문자열(string1)의 문자열 변경
 //string1[0] == *ptr1
 *ptr1 = 'P';
 *(ptr1+1) = 'e';
 *(ptr1+2) = 'a';
 *(ptr1+3) = 'c';
 *(ptr1+4) = 'e';
 printf("\n\n string1 = %s \n",string1);

 getchar();
}

 

반응형

'프로그래밍' 카테고리의 다른 글

sizeof로 자료크기 확인  (0) 2013.10.06
포인터 배열로 문자열 저장하기  (0) 2013.10.01
포인터 연산자로 변수 엑세스하기  (0) 2013.10.01
유니티 탱크게임  (0) 2013.07.07
유니티 강좌모음  (0) 2013.07.07