작성
·
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 둘 중 어디에 속한다고 봐야 할까요? :)