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

최승원님의 프로필 이미지
최승원

작성한 질문수

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

11.2 메모리 레이아웃과 문자열

강의 내용 중 주석 Cannot change heart. Can change ...

해결된 질문

작성

·

187

·

수정됨

2

강의 20분 중반대부터 보이는 // Cannot change heart. Can change the elements of heart가 이해가 가지 않습니다.

heart는 배열이여서 바꿀 수 있다고 생각했는데 (바로 뒤에 요소 수정 가능이라고 나와있긴 해서 헷갈림)

// Cannot change head.를 의도했는데 잘못 표기된 것인지 아니면 heart라는 배열의 이름에 접근할 수 없다는 뜻인지 모르겠습니다.

감사합니다

답변 1

2

안녕하세요, 질문&답변 도우미 Soobak 입니다.

 

"Cannot change heart." :

heart 는 배열의 이름이기 때문에, 배열 자체를 직접 가리키는 참조를 변경할 수 없다는 의미입니다.
즉, heart 라는 변수에 처음 할당된 배열 객체 자체를 다른 배열 객체로 바꿀 수 없다는 것입니다.

 

"Can change the elements of heart." :

heart 배열 내의 개별 원소는 수정할 수 있다는 의미입니다.
즉, 강의 예시의 83 번째 라인의 코드 처럼, heart[7] = 'H'; 와 같이 배열 내 특정 원소의 값을 변경하는 것은 가능합니다.

 

요약하자면, 배열의 참조는 변경할 수 없지만 배열 내의 요소는 변경할 수 있다는 내용에 대한 주석입니다.

최승원님의 프로필 이미지
최승원

작성한 질문수

질문하기