inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

typedef 키워드

typedef 질문

해결된 질문

59

작성자 없음

0

5:50

제일 위에 선언 부분에

Bag이 typedef으로 데이터타입으로 정의한건지 struct 의 변수명으로 정의한건지 헷갈립니다

저렇게 하나만 쓰면 둘다 인가요?

python java c 정보처리기사

답변 2

0

주말코딩

안녕하세요,

Bag는 새로운 데이터 타입입니다.

typedef struct { ... } 타입이름;
        ↑              ↑
    구조체 정의      새로운 타입 이름

 

이렇게 이해하시면 됩니다.

대부분의 경우를 다 설명드리자면,

 

1. typedef 없이 struct만 사용하는 경우:

struct Bag {
    char brand[50];
    int year;
};

// 사용할 때
struct Bag myBag;  // ← "struct" 키워드를 반드시 써야 함

 

2. typedef 사용하는 경우 (강의에 있는 코드):

typedef struct {
    char brand[50];
    int year;
} Bag;  // ← Bag은 새로운 타입 이름

// 사용할 때
Bag myBag;  // ← "struct" 없이 바로 사용 가능!

 

3. struct에 이름도 주고 typedef도 하는 경우:

typedef struct BagStruct {
    char brand[50];
    int year;
} Bag;

// 사용할 때 두 가지 방법 모두 가능
struct BagStruct myBag1;  // 방법 1
Bag myBag2;               // 방법 2 (더 간단)

 

이렇게 생각하시면 되겠습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 이진우님.

구조체와 typedef에 대한 혼란을 이해할 수 있습니다. 이를 명확히 하기 위해 C언어에서 structtypedef를 어떠한 방식으로 사용하는지 설명드리겠습니다.

structtypedef 개념

  1. struct:
    • 구조체는 여러 데이터를 하나의 그룹으로 묶어주는 역할을 합니다. struct 키워드를 사용하여 새로운 데이터 타입을 정의할 수 있습니다.
    • struct를 통해 정의된 구조체는 선언 시 항상 struct 키워드가 다시 등장해야 합니다.
   struct Bag {
       int itemID;
       char itemName[50];
   };
   
   struct Bag bag1; // 구조체 변수 선언
  1. typedef:
    • typedef는 기존 데이터 타입에 새로운 이름을 부여하여 보다 간편하게 사용할 수 있게 해줍니다. 이는 주로 코드의 가독성을 높이는 데 도움을 줍니다.
   typedef struct {
       int itemID;
       char itemName[50];
   } Bag;

   Bag bag1; // typedef를 사용하여 간단하게 변수 선언 가능

일반적인 사용 예시

  • 해당 구조체를 정의하면서 동시에 typedef를 사용하면, typedef로 정의된 이름(Bag)을 새로운 데이터 타입처럼 사용할 수 있습니다. 이 경우 struct 키워드를 생략할 수 있어 편리합니다.

추가 자료

이와 관련된 유사한 질문과 답변이 Inflearn에 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

43

2

조건 반복문 질문: for 문 ?

0

59

1

정처기 26-2회. 9번 질문드립니다!

0

77

1

이론 보면서 질문이 있습니다.

0

71

2

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

86

2

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

143

2

262 정처기 실기 C언어코딩

0

45

1

정보처리기사 262 실기 Hash(해시) 질문

0

77

2

static 변수 질문입니다.

0

60

2

파이썬 4강 질문입니다.

0

67

2

모의고사 1회 3번문제

0

87

3

41강 30:10

0

66

2

이론 공부법 질문 있습니다.

0

86

2

부모의 생성자 관련 질문

0

64

2

시험지 문제에 필기해도 되나요?

0

87

3

41강 11:23

0

58

2

4강파이썬 질문입니다

0

53

2

try-catch 핸들러명

0

64

2

36강 3:48

0

62

2

35강 18:27

0

65

2

자식 코드 내 super() 생략

0

59

2

출력질문

0

73

2

31강 4:06

0

64

2

파이썬 학습자료가 강의 자료와 다릅니다.

0

94

3