#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"; 이처럼 포인터로 다른 문자열을 가리킬 수 있다.
'C' 카테고리의 다른 글
[C] 중첩 구조체 / 구조체 변수가 포인터일 때 (0) | 2019.12.04 |
---|---|
[C] 2차원 배열의 표현 (0) | 2019.12.04 |
[C] 조건부 컴파일 #if #else #elif #endif #ifdef #ifndef (0) | 2019.12.03 |
[C] 파일 위치지시자 fseek (0) | 2019.12.03 |
[C] 파일입출력 fprintf fscanf (0) | 2019.12.03 |