인프런 커뮤니티 질문&답변

it09kim님의 프로필 이미지
it09kim

작성한 질문수

홍정모의 따라하며 배우는 C언어

14.10 복합 리터럴

char *title char *authour 이 Not recommended 인 이유가 뭔가요?

해결된 질문

작성

·

192

1

바로 앞 강의에 이유가 나온다고 하셨는데 앞강의 보고왔는데 그런내용을 못본거같아서요..

답변 1

6

앞 강의 3:00, 5:00 시간대에서 설명해주셨습니다.

"Hello" 같은 문자열 리터럴은 TEXT_SEGMENT 영역에 저장이 됩니다. 이 영역은 읽기만 가능하고 수정이 불가능한 메모리 영역이에요. 아마 메모리 레이아웃 수업 들으셨을 때 배우셨을 것입니다.

char * title 포인터를 사용했을 때 이 포인터가 문자열 리터럴을 참조하게 되버리면 (char* title = "Hello") 나중에 title[1] = 'H' 이런식의 값 수정이 불가능해집니다. 그래서 char * 대신 char 배열을 사용하신 것입니다.

it09kim님의 프로필 이미지
it09kim

작성한 질문수

질문하기