정처기 감자정처기 감자
C언어구조체

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

C언어 sizeof 연산자

코딩C언어
읽는데 4분 소요
처음 쓰인 날: 2026-05-04
마지막 수정일: 2026-05-06
조회수: —
선수학습(3개)
  • C언어 자료형
  • C언어 포인터의 기초
  • C언어 구조체

요약

C언어 sizeof 연산자의 동작을 정리합니다. 포인터와 배열에 sizeof를 적용했을 때 결과가 어떻게 다른지, 배열 길이를 구하는 sizeof(arr) / sizeof(arr[0]) 패턴, 함수 인자로 전달된 배열에서 sizeof가 동작하지 않는 이유까지 설명합니다.

sizeof 핵심 정리

대상sizeof 결과비고
포인터 (int*, char* …)주소의 크기가리키는 대상의 크기가 아님
배열 (int arr[N])원소 크기 × 원소 수배열 전체 크기
함수 인자로 받은 배열포인터의 크기배열이 포인터로 변환됨

sizeof란?

sizeof는 자료형이나 변수가 메모리에서 차지하는 크기를 바이트 단위로 알려주는 연산자입니다. 함수처럼 보이지만 컴파일 시점1에 크기가 결정되는 연산자입니다.

c
코드 하이라이팅 중…

정보처리기사 실기에서는 자료형별 크기(int가 몇 바이트인지)를 묻기보다, 포인터와 배열에 sizeof를 적용했을 때 결과가 다르다는 점과 배열의 길이를 구하는 패턴이 중요합니다.


포인터에 sizeof를 쓰면?

포인터에 sizeof를 적용하면 포인터가 가리키는 대상의 크기가 아니라, 주소를 저장하는 공간의 크기가 나옵니다.

c
코드 하이라이팅 중…
식의미
sizeof(p)포인터 변수 자체의 크기 (주소를 담는 공간)
sizeof(*p)포인터가 가리키는 값의 크기 (역참조했을 때의 타입)
포인터의 sizeof는 가리키는 타입과 무관
int*든 char*든 double*든 모두 같은 크기입니다. 포인터에 저장되는 것은 값이 아니라 주소이기 때문입니다.

배열에 sizeof를 쓰면?

배열 이름에 sizeof를 적용하면 배열 전체가 차지하는 바이트 수를 돌려줍니다. 포인터 크기가 아니라는 점이 핵심입니다.

c
코드 하이라이팅 중…

배열 이름은 보통 포인터처럼 동작하지만, sizeof 안에서는 배열 본래의 크기를 그대로 알려줍니다. 이 점이 배열과 포인터의 가장 큰 차이 중 하나입니다.


배열 길이 구하기 패턴

위 두 값을 나누면 배열의 원소 개수가 나옵니다. 배열 길이를 직접 적지 않고 안전하게 구하는 관용구입니다.

c
코드 하이라이팅 중…
식의미
sizeof(arr)배열 전체 크기
sizeof(arr[0])원소 한 개 크기
sizeof(arr) / sizeof(arr[0])원소 개수 (= 배열 길이)

원소의 자료형이 int든 double이든 구조체든 상관없이 동일한 패턴으로 길이를 구할 수 있습니다.


함수 인자로 전달된 배열은 다릅니다

함수 매개변수로 적힌 배열은 호출 시 포인터로 변환됩니다. 그래서 함수 안에서 sizeof를 쓰면 배열 전체가 아니라 포인터 크기가 나옵니다.

c
코드 하이라이팅 중…

같은 sizeof(arr)인데도 위치(main 안 vs 함수 안)에 따라 결과가 달라집니다. 함수에 배열을 넘긴 시점에서 원래 배열의 길이 정보가 사라지기 때문입니다.

함수 안에서는 sizeof로 배열 길이를 구할 수 없습니다
배열을 함수 인자로 전달하면 포인터로 변환되어 길이 정보가 사라집니다. 길이를 함께 인자로 넘겨야 합니다 (예: void f(int arr[], int len)).

정처기 실기 대비 실전 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.

Footnotes

  1. 컴파일 시점이란 코드를 기계어로 번역하는 단계를 말합니다. 프로그램이 실행되기 전에 sizeof 값이 이미 정해진다는 뜻입니다. ↩


메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)

관련 글

(41개)
제목태그업데이트시험
C언어 형변환 (Casting)
C언어코딩C언어
2026-05-15-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어코딩C언어
2026-05-06-
C언어 사용자 정의 함수 기초
C언어코딩C언어
2026-05-06-
C언어41개
제목태그업데이트시험
C언어 형변환 (Casting)
C언어코딩C언어
2026-05-15-
C언어 연결 리스트 뒤집기 (Reverse Linked List)
C언어코딩C언어
2026-05-06-
C언어 사용자 정의 함수 기초
C언어코딩C언어
2026-05-06-
C언어 이진 트리 (Binary Tree)
C언어코딩C언어
2026-04-24-
C언어 중첩 구조체와 포인터 접근
C언어코딩C언어
2026-04-24-
C언어 함수 포인터 (Function Pointer)
C언어코딩C언어
2026-04-24-
배열 C언어 코딩 감자시험
감자시험C언어배열감자시험
2026-03-28응시
C언어 왕감자 정보처리기사 실기 모의 시험
C언어C언어
2026-03-27응시
제어문/반복문 C언어 코딩 감자시험
감자시험C언어제어문반복문
2026-03-28응시
연산자 C언어 코딩 감자시험
감자시험C언어연산자감자시험
2026-03-28응시
포인터 C언어 코딩 감자시험
감자시험C언어포인터감자시험
2026-03-28응시
문자열 C언어 코딩 감자시험
감자시험C언어문자열감자시험
2026-03-28응시
구조체 C언어 코딩 감자시험
감자시험C언어구조체감자시험
2026-03-28응시
C언어 구조체 배열
C언어코딩C언어
2026-03-21-
C언어 구조체 포인터
C언어코딩C언어
2026-04-24-
C언어 함수 프로토타입
C언어코딩C언어
2026-03-21-
C언어 입력 함수 - scanf, getchar, gets
C언어코딩C언어
2026-03-21-
C언어 출력 함수 - putchar, printf, puts
C언어코딩C언어
2026-09-29-
C언어 문자열 포인터 (char *)
C언어코딩C언어
2026-03-21-
C언어 포인터 산술 (Pointer Arithmetic)
C언어코딩C언어
2026-03-21-
C언어 재귀함수 (Recursion)
C언어코딩C언어
2026-03-21-
C언어 선택정렬 (Selection Sort)
C언어코딩C언어
2026-02-10-
C언어 스택 (Stack) - LIFO 자료구조
C언어코딩C언어
2026-03-21-
C언어 2차원 배열
C언어코딩C언어
2026-03-21-
C언어 원형 큐 (Circular Queue)
C언어코딩C언어
2026-03-21-
C언어 ctype.h 문자 판별 함수
C언어코딩C언어
2026-03-21-
C언어 자료형
C언어코딩C언어
2026-05-15-
C언어 이중 포인터 (Double Pointer)
C언어코딩C언어
2026-03-21-
C언어 동적 메모리 할당 (malloc, free)
C언어코딩C언어
2026-05-04-
C언어 헤더 파일과 #include
C언어코딩C언어
2026-03-21-
C언어 연결 리스트 (Linked List)
C언어코딩C언어
2026-05-06-
C언어 포인터 배열과 2차원 배열
C언어코딩C언어
2026-03-24-
C언어 포인터의 기초
C언어코딩C언어
2026-06-25-
C언어 큐 (Queue) - FIFO 자료구조
C언어코딩C언어
2026-03-21-
C언어 static 변수 - 값이 유지되는 변수
C언어코딩C언어
2026-03-21-
C언어 포인터를 이용한 문자열 복사
C언어코딩C언어
2026-07-09-
C언어 문자열 뒤집기 (포인터 활용)
C언어코딩C언어
2026-03-21-
C언어 구조체
C언어코딩C언어
2026-03-20-
C언어 삼항 연산자
C언어코딩C언어
2026-03-21-
C언어 typedef - 자료형에 새 이름 붙이기
C언어코딩C언어
2026-03-21-
전설의 완전수 문제 - C언어
C언어코딩C언어
2025-09-12-
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999