#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void main()
{
	char* ptr1;
	char* ptr2 = "korea";
	char* ptr3 = NULL;
	ptr3 = (char *)malloc(sizeof(char)*20);

	//strcpy(ptr1, "Good Korea"); //warning 초기화하지 않고 씀 
	//strcpy(ptr2, "Good Korea"); //warning 이미 korea가 할당되어 korea가 상수이므로 
			           //korea를 수정할 수 없음 문자열 상수
	strcpy(ptr3, "Good Korea");

	printf("%s\n", ptr3);

	free(ptr3);

}

ptr2 는 "korea"가 이미 할당되어 문자열 상수를 가르키는 포인터가 된다.
문자열 상수는 내용을 고칠 수 없으므로 사용할 수 없다.

하지만
ptr2 = "hi korea";
로 바꿀 수는 있다.

+ Recent posts