본문 바로가기

IT/C언어

C언어본색 연습문제 Part 2.4.6

1. 문제

다음 프로그램의 에러 발생 원인이 무엇인지를 분석하세요.



2. 결과

오류.



3. 코드

#include <stdio.h>

int main()

{

char* array1 = "ABCD";

char array2[] = "ABCD";


array1[0]='X';

array2[0]='X';


return 0;


}



4. 설명

array2의 값은 배열이기 때문에, 문자열변수로 취급되어 수정이 가능하지만,

char* array1은 ABCD를 문자열 상수로 취급하기 때문에, 이 값을 수정하려고 한다면 오류가 발생한다.

결과적으로 컴파일에러..