2) C언어 문자열 사용 예제(2)

 

 

01   #include <stdio.h>
02   #include <stdlib.h>
03   #include <string.h>
04   #define SIZE 5   
05 
06   int main()
07   {
08       char str[20]= "hello world!";  
09       char *ptr = "good bye";       
10
11       printf("대입이전\n %s\n %s\n\n", str, ptr);
12       ptr = "hello world!";
13       printf("대입이후\n %s\n %s\n, str, ptr);
14
15       system("pause");
16       return 0;
17   }

 

반대로 문자열문자열 처리함수를 사용할 수 없다. 대입연산자를 사용하여 문자열을 처리한다.

 

01   #include <stdio.h>
02   #include <stdlib.h>
03   #include <string.h>
04   #define SIZE 5   
05 
06   int main()
07   {
08       char str[20]= "hello world!";  
09       char *ptr = "good bye";       
10
11       printf("대입이전\n %s\n %s\n\n", str, ptr);
12       ptr = str;
13       strcpy(ptr, "Happy birthday!!");
14       printf("대입이후\n %s\n %s\n, str, ptr);
15
16       system("pause");
17       return 0;
18   }

 

문자열의 변신

만약, 문자열이 문자배열을 대입 받았을 경우 문자열은 지금까지의 특성을 버리고 문자열처리함수를 쓸 수 있고, 역으로 대입연산자를 통한 문자열 대입이 불가능해진다.
사실 C언어에서는 string형이 없기 때문에 char*를 string형처럼 사용하기 위해서 들여온 문법으로 인하여 이러한 현상이 생기게 되었다.

 

예제를 연습해 봅시다