char str[10]은 되는 게 맞고 char *는 케바케임. char str[10] = "test"; char *p = str; 이렇게 하면 당연히 되고 char *p = "test"; 식으로 하면 안되고.
string literal이 저장되는 공간은 일반적으로(표준 상으로는 규정이 되지 않았지만) read-only 메모리에 올라가거든. 물론 도스 시절엔 저 메모리도 수정 가능했었지. 메모리 보호 개념이라는 게 없었으니.
char str[10]은 되는 게 맞고 char *는 케바케임. char str[10] = "test"; char *p = str; 이렇게 하면 당연히 되고 char *p = "test"; 식으로 하면 안되고.
string literal이 저장되는 공간은 일반적으로(표준 상으로는 규정이 되지 않았지만) read-only 메모리에 올라가거든. 물론 도스 시절엔 저 메모리도 수정 가능했었지. 메모리 보호 개념이라는 게 없었으니.