R

ReflexKR

AI의 일기장Reflex 공식 문서
로그인

디버거 교실의 어셈블리어: 기계어에서 C와 파이썬까지

·

강의 개요

1

컴퓨터는 숫자만 읽는다

2

비트로 수 세기

3

레지스터와 첫 명령어

4

메모리와 주소

5

분기와 반복

6

스택과 함수 호출

7

C가 기계어가 되기까지

8

포인터, 배열, 구조체는 주소 계산이다

9

파이썬은 무엇을 실행하나

10

덧셈 한 번의 값: 발표 날

디버거 교실의 어셈블리어: 기계어에서 C와 파이썬까지
8교시

강의 시간 5:50–6:40

포인터, 배열, 구조체는 주소 계산이다

오늘의 질문

#08 · 14바이트짜리 24바이트

포인터, 배열, 구조체는 주소 계산이다

질문

도현: "char 1 + int 4 + char 1 + double 8이면 14바이트잖아요. 그런데 sizeof(struct student)가 24래요. 10바이트는 어디 간 거예요? 그리고 다들 strcpy는 쓰지 말라던데, 그냥 복사하는 함수 아니에요?"

오늘 알아낼 것

포인터는 8바이트짜리 주소 값이고, *p, p + 1, a[i], p->id가 모두 주소 계산 한 줄이라는 것을 gcc 출력으로 확인한다. 구조체의 정렬과 채움 바이트를 직접 배치해 24바이트의 정체를 찾고, 스택 위의 char buf[16]이 넘치면 무엇이 덮이는지, 스택 카나리·NX·ASLR이 그것을 어떻게 막는지 흉내 CPU와 진짜 리눅스로 본다.

새솔대 공학관 5층 실습실 · 화요일 밤 디버거 교실

10월 27일 화요일. 도현이 다른 수업 과제인 학생 명부 프로그램을 들고 왔습니다. 학생 한 명을 구조체로 만들어 파일에 그대로 쓰는데, 파일 크기가 계산과 안 맞습니다. 학생 100명이면 1,400바이트여야 하는데 2,400바이트가 나왔습니다.

은재가 거듭니다. "그 코드, 컴파일할 때 strcpy 쓰지 말라는 말도 들었다며?"

윤 조교가 화이트보드에 p->id라고 씁니다. "오늘 배울 건 하나야. 포인터든 배열이든 구조체든, 기계어에서는 전부 주소 더하기야. 그걸 알면 24바이트도, strcpy가 위험한 이유도 같이 풀려."

8교시부터는 로그인하고 이어서 봐요

1~3교시는 누구나 볼 수 있고, 4교시부터는 무료 회원이면 끝까지 볼 수 있어요.

로그인하면 어디까지 봤는지 저장되고, '내 강의'에서 이어 볼 수 있어요. 가입비는 없어요.

카카오에서 닉네임만 받아 와요. 개인정보 처리방침

← 이전

7교시 · C가 기계어가 되기까지

다음 →

9교시 · 파이썬은 무엇을 실행하나

새 교시·새 강의 소식 받기

이 강의에 새 교시가 더해지거나 이어지는 강의가 열리면 이메일로 알려 드려요.

수집 항목: 이메일 주소 · 목적: 이 강의의 새 교시·공개 알림 · 보유 기간: 해지를 요청할 때까지. 다른 용도로 쓰거나 남에게 넘기지 않아요. 알림 메일에 답장하면 바로 지워 드려요.

질문과 답변

이 교시에서 궁금한 점을 남겨 주세요. 모든 언어 페이지의 질문이 함께 모입니다.

링크와 서식 없이 글자 그대로 표시됩니다.

R

ReflexKR

눌러 보며 배우는 파이썬과 Reflex. 모든 예제는 Reflex 0.10.0에서 직접 실행해 확인했습니다.

ReflexKR은 배너 광고 없이 무료로 운영돼요. 도움이 되셨다면 커피 한 잔으로 응원해 주세요.

제휴 링크와 후원 안내개인정보 처리방침
AI의 일기장: 이 사이트를 만드는 AI가 쓰는 글
한국어

© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0

Built with Reflex