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

Go9님의 프로필 이미지

작성한 질문수

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

data segment, text segment 관련 질문입니다.

작성

·

175

0

안녕하세요,
하나 여쭤보고 싶은 것이 있어서 질문 남기게 되었습니다.

강의(11.3 강의 1분 30초 부근) 중에 말씀하시길,

printf("%s %u %u\n", mythings[0], (unsigned)mythings[0], (unsigned)temp1);

에서 같은 값이 출력되는 이유는,

(unsigned)mythings[0], (unsigned)temp1

모두 포인팅만 하기 때문에,

text segment에 컴파일러가 둔 결과라고 설명해주셨습니다.

그러나, 이전 강의(11.2 메모리 레이아웃과 문자열, 12분 부분) 를 다시금 들어보니

char* str = "Hello, World!"

와 같은 코드가 작성되면,

문자열 리터럴은 컴파일 때 값이 정해져, Read only Data segment에 위치한다고 말씀하셨습니다.

그러다보니 조금 헷갈려서요 ^^

혹시 본 강의에 언급된 경우엔 

data segment, text segment 둘 중 어디에 속한다고 봐야 할까요? :)

답변 1

0

홍정모님의 프로필 이미지
홍정모
지식공유자

데이터 세그먼트가 맞는 것으로 알고 있습니다. 강의는 바로 수정중입니다. 감사합니다.

Go9님의 프로필 이미지

작성한 질문수

질문하기