#include <stdio.h>
int main(){
char a[] = "abcd";
char *b = "xyz";
printf("%s %s \n", a, b); // abcd xyz
a[0] = 'f'; // 변수형 문자열은 하나씩 접근하여 바꿀 수 있다.
// b[0] = 'f'; // 상수형 문자열은 하나씩 접근하여 바꿀 수 없다.

printf("%s %s \n", a, b); // fbcd xyz
// a = "yyy"; // 변수형 문자열은 문자열 전체를 바꿀 수 없다.

b = "zzz"; // 상수형 문자열은 문자열 전체를 바꿀 수 있다.
printf("%s %s \n", a, b); // fbcd zzz
return 0;
}

// 변수형 문자열은 배열인자에 하나씩 접근하여 문자를 바꿀 수가 있다.
// 상수형 문자열은 배열인자에 포인터로 접근은 가능하지만 문자를 바꿀 수는 없다.
// 변수형 문자열은 초기화할 때를 제외하고 a = "yyy" 같은 형식을 사용할 수 없다.
// strcpy(a, "yyy"); 이렇게 string.h를 이용해보도록 하자
// 상수형 문자열은 b = "zzz"; 이처럼 포인터로 다른 문자열을 가리킬 수 있다.

블로그 이미지

ryancha9

https://blog.naver.com/7246lsy

,