C언어 typedef - 자료형에 새 이름 붙이기

코딩C언어
읽는데 5분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-21
조회수: 334
선수학습(1개)

요약

C언어 typedef 키워드로 자료형에 별칭을 붙이는 방법을 배웁니다. struct와 함께 쓰는 패턴, 자기 참조 구조체, 포인터 타입 별칭까지 시험에 자주 출제되는 typedef 활용법을 정리합니다.

typedef 핵심 정리

아래에서 하나씩 배울 내용을 미리 정리한 표입니다.

개념설명예시
typedef자료형에 새 이름(별칭)을 붙이는 키워드typedef int INT;
사용 목적긴 타입명을 짧게, 코드 가독성 향상Queue q;
struct와 함께struct 키워드 생략 가능typedef struct {...} Name;
자기 참조 구조체구조체 내부에서 자신을 가리킬 때 struct 필수struct Node *next;
포인터 별칭포인터 타입에도 별칭 가능, 선언 함정 주의typedef int* IntPtr;

typedef란? 쌩기초

typedeftype definition의 약자로, 기존 자료형에 **새로운 이름(별칭)**을 붙이는 키워드입니다.

c
코드 하이라이팅 중...

기본 예시

c
코드 하이라이팅 중...

struct와 함께 사용 기초

typedef가 가장 많이 쓰이는 곳은 구조체와 함께 사용할 때입니다. 구조체를 아직 배우지 않았다면, 구조체 페이지를 먼저 읽고 오는 것을 추천합니다.

typedef 없이 struct 사용

c
코드 하이라이팅 중...

typedef와 함께 struct 사용

c
코드 하이라이팅 중...
방식변수 선언특징
typedef 없이struct Queue q;매번 struct 키워드 필요
typedef 사용Queue q;간결하고 가독성 좋음


typedef struct 패턴 기초

시험 기출에서 가장 자주 등장하는 패턴입니다.

패턴 1: 익명 구조체 + typedef

c
코드 하이라이팅 중...

구조체 이름 없이 바로 별칭만 지정합니다. 가장 간결한 방식입니다.

패턴 2: 이름 있는 구조체 + typedef

c
코드 하이라이팅 중...

연결 리스트처럼 자기 자신을 참조하는 구조체는 내부에서 struct Node를 써야 합니다. typedef 별칭 Node는 구조체 정의가 완료된 후에야 사용할 수 있기 때문입니다.

자기 참조 구조체 Node의 메모리 구조
Node 구조체가 다음 Node를 가리키는 포인터를 가진 모습

struct Node를 써야 하는지 잘못된 코드로 확인해 보겠습니다.

c
코드 하이라이팅 중...

포인터 타입에 typedef 심화

포인터 타입에도 별칭을 붙일 수 있습니다. 포인터가 처음이라면 포인터 페이지를 먼저 읽어보세요.

c
코드 하이라이팅 중...

주의: 일반 선언과의 차이

c
코드 하이라이팅 중...

int *p1, p2;에서 *자료형이 아니라 변수 이름 p1 앞에만 붙는 기호입니다. 그래서 p2에는 *가 적용되지 않아 일반 int 변수가 됩니다. 두 변수를 모두 포인터로 선언하려면 int *p1, *p2;처럼 각각 *를 붙여야 합니다.

선언 방식p1 타입p2 타입
IntPtr p1, p2;int*int*
int *p1, p2;int*int


언제 typedef를 사용하나? 기초

상황예시
struct 간결하게typedef struct {...} Queue;
긴 타입명 줄이기typedef unsigned long long ULL;
의미 부여typedef int Age; (나이를 저장하는 int)
이식성 1typedef int int32_t;

구조체를 사용하는 코드에서는 typedef가 거의 필수적으로 쓰입니다. 시험에서도 typedef struct 패턴이 매우 자주 출제되니 익숙해지세요.


정보처리기사 실기 대비 문제


Footnotes

  1. 이식성이란 코드를 다른 컴퓨터나 운영체제에서도 동일하게 동작하도록 만드는 것을 말합니다. 예를 들어 int의 크기가 컴퓨터마다 다를 수 있는데, typedefint32_t를 정의해두면 항상 32비트 정수임을 보장할 수 있습니다.


관련 글

(34개)
제목태그시험
C언어 구조체 배열
C언어
-
C언어 구조체 포인터
C언어
-
C언어 함수 프로토타입
C언어
-