• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

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

21.02.21 19:23 작성 조회수 141

1

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

답변 1

답변을 작성해보세요.

6

안소님의 프로필

안소

2021.02.22

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

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

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