inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

24:05초에서

258

임땡겸

작성한 질문수 3

1

"I love Helly!" 문자열이 text segment 에 있다고 말씀하셨는데 text segment가 아니라 data segment 중에서 read only data부분에 있는거 아닌가요?

text segmaent라고 하셔서 혼동이 오네요 ㅠ

c

답변 3

3

Hello Yeo

1. 은 32bit system이기 때문에 4byte 단위로 끊어서 구성하기 위해서입니다. 조금 더 생각해보시면 이해하실 것 같습니다.
2. 후술하신 것이 맞습니다.

3

Hello Yeo

안녕하세요? 좋은 질문이라고 생각합니다. 주의깊게 듣고계시는군요.
강의의 설명의 일관성을 따지자면 이상한 것이 맞습니다. (10:40~, 12:24~의 화살표 방향과 맞지않음)
살펴본 바로는 Bryant, Computer Systems A Programmer's Perspective 2th ed. (678 pp.)
에 따르면, .text와 .rodata를 code segment(text segment)로 분류합니다. (in UNIX)
그리고, gcc compiler, powershell 을 사용한 경우도 이 관점과 비슷하군요.

#include <stdio.h> // code #1
int main()
{
    printf("Hello, World!");
    return 0;
}

#include <stdio.h> // code #2
int main()
{
    printf("Hello, World!Hello, World!");
    return 0;
}



위쪽 size 결과가 code #1 에 대한 것이고, 아래쪽 size 결과가 code #2에 대한 것입니다.
text segment가 늘어난 결과로 보아서도 .rodata 는 data segment가 아닌 text segment에 있습니다.

2

임땡겸

와 답변 최곱니다 추가질문좀할게요ㅠ

1. Hello, World!가 추가되면 뛰어쓰기포함 text부분이 13byte가 증가돼야 할것같은데 12byte가 증가됬네요 왜 그런가요?

2. "Hello, World!"는 stack에 들어가야 될 것 같은데 text에 추가됐네요. text segment에 "Hello, World!" 문자열을 저장해놓고 printf함수가 포인터처럼 주소만 찾아가서 출력하는 방식인 건가요?

강의내용과 연관지어 생각하려니까 어려운 부분이 많네요..

Export template 안됨

1

11

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

53

3

main 함수에서 왜 int만 선언이 되는걸까요

1

56

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

54

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

49

1

프로토타입과 함수간의 인자 불일치

1

73

2

12.12 헤더 관련 질문

1

60

2

Visual Studio Community 2026 사용 문의

1

137

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

60

2

getchar(), putchar()

1

93

3

강의자리ㅛ

1

79

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

112

2

소스파일안에 여러 파일

1

75

2

F5와 F7의 차이

1

76

2

c = TWO * (a+b); 에서 a와 b는?

1

58

2

; 세미콜론을 붙이는 기준에 문의

1

68

1

Step over 기능 문의

1

53

2

2.6 강의 따옴표 출력 규칙 문의

1

74

2

int main 함수 관련 오류 문의

1

67

2

13.4 words[0]

0

60

2

11.7 함수를 구현해 봤습니다.

1

62

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

64

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

53

2

11.6 fit_str함수를 구현해 봤습니다.

1

53

2