sizeof 연산자 — 자료형·변수의 메모리 크기와 바이트 | 기초 C언어 5.3.1

기초 C언어Chapter 05 연산자 › Section 03 기타 연산자 › 01

5.3.1 sizeof 연산자

자료형이나 변수가 메모리에서 차지하는 바이트 수를 재는 연산자. 기호가 아니라 낱말인 것은 이것 하나.

교재 수록 위치
교재
『기초 C언어』 · 이은상 · 부크크 · 364쪽
단원
Chapter 05 연산자 › Section 03 기타 연산자 › 01 sizeof 연산자
쪽수
139p ~ 141p3쪽
세부 내용
03 sizeof 연산자139p~141p · CODE 5.11
학습 목표
sizeof 로 자료형과 변수의 크기를 구할 수 있고, 크기가 환경에 따라 달라짐을 안다.

01메모리 크기를 재는 연산자교재 139p

  • sizeof 연산자 — 자료형 또는 변수가 메모리에서 실제로 몇 바이트(byte)를 차지하는지 알려 주는 연산자.
  • 범위의 바탕이 크기 — 4.1.3에서 본 「자료형마다 담을 수 있는 범위가 다름」의 바탕이 바로 이 크기. 크기가 담을 수 있는 값의 개수를 정함.
  • 측정 도구 — 만들어 둔 변수 상자, 앞으로 만들 상자의 설계도인 자료형이 얼마나 큰지 재어 보는 도구.

02크기는 환경에 따라 달라짐교재 139p

  • 같은 이름, 다른 크기 — 32비트 컴퓨터의 int와 64비트 컴퓨터의 int는 크기가 다를 수 있음.
  • 숫자를 직접 적으면 — 지금 쓰는 컴퓨터에서는 맞더라도 다른 환경으로 옮기면 어긋날 수 있음.
  • sizeof 를 쓰면 — 현재 환경에 맞는 정확한 크기를 프로그램이 스스로 재어 옴. 호환성 높은 코드에 도움이 됨.
자료형일반적인 환경에서의 크기
char1바이트 — 글자 하나를 담는 자리
int4바이트 — 정수를 담는 기본 크기
double8바이트 — float의 두 배

03쓰는 꼴은 두 가지교재 139p~140p

  1. sizeof(자료형)
  2. sizeof(변수이름)

1sizeof(자료형)

  • 괄호 안에 int · double 같은 자료형 이름 — 설계도의 크기.

2sizeof(변수)

  • 괄호 안에 이미 선언된 변수 이름 — 만들어 둔 상자의 크기. 선언이 먼저 있어야 함.

여기서 자주 틀림

지금까지 본 연산자는 모두 기호였지만 sizeof 만 낱말로 되어 있음. 괄호가 붙어 함수를 부르는 것처럼 보여도 연산자임.

04결과를 찍을 때는 %zu교재 140p

  1. printf("int 크기: %zu 바이트\n", sizeof(int));
  • 결과는 size_t — sizeof 의 결과값은 크기를 담기 위해 따로 마련된 size_t 자료형.
  • %d 가 아니라 %zu — 크기는 음수가 될 수 없어 %zu 가 가장 정확. %d 로도 대개 맞게 보이지만 환경에 따라 어긋날 수 있음.

네 자료형과 변수의 크기를 찍어 보는 전체 코드와 줄별 해설, 실행 결과는 교재 140p CODE 5.10 에 있습니다.

05배열의 요소 개수 구하기교재 141p

  1. int scores[] = {10, 20, 30, 40, 50};
  2. int count = sizeof(scores) / sizeof(scores[0]);
  • 전체 ÷ 요소 하나 — 배열 전체 크기를 요소 하나의 크기로 나누면 요소의 개수. int 가 4바이트면 20 ÷ 4 로 5.
  • 세지 않고 계산으로 — 배열의 크기를 나중에 바꾸어도 이 줄은 고칠 것이 없음. 이 방법은 8장 배열에서 다룸.

이 절의 핵심 정리

  1. sizeof는 자료형이나 변수가 메모리에서 차지하는 바이트 수를 알려 준다.
  2. 쓰는 꼴은 sizeof(자료형)과 sizeof(변수) 두 가지다.
  3. 결과는 size_t이므로 %zu로 출력하는 것이 가장 정확하다.
  4. 자료형의 크기는 컴퓨터 환경에 따라 달라질 수 있다.
  5. 배열 전체 크기를 요소 하나의 크기로 나누면 요소 개수가 나온다.
강의 자료5.3.1 sizeof 연산자 1 / 10

번호를 누르면 해당 장으로 바로 이동합니다 · 방향키 ← → 로도 넘길 수 있습니다
다음 절 · 5.3.2 강제 형 변환 교재 142p~145p — 자료형을 바꾸어 계산하게 만드는 캐스팅을 살펴봅니다. ↗

더 자세한 내용은 교재에서

이 글은 『기초 C언어』 139p~141p의 내용을 강의 영상에 맞춰 핵심만 간추린 요약입니다. 각 개념의 상세한 설명과 예제, 실습 코드, 임용시험 기출문제 풀이는 교재에서 다루고 있습니다.

댓글

이 블로그의 인기 게시물

2007년 국가직 9급 기계일반 기출문제 풀이

열역학의 개요 — 계·상태량·열과 일, 제1·제2법칙 | 기초 열역학 1.1