작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
22
답변 2
0
안녕하세요,
Bag는 새로운 데이터 타입입니다.
typedef struct { ... } 타입이름;
↑ ↑
구조체 정의 새로운 타입 이름
이렇게 이해하시면 됩니다.
대부분의 경우를 다 설명드리자면,
struct Bag {
char brand[50];
int year;
};
// 사용할 때
struct Bag myBag; // ← "struct" 키워드를 반드시 써야 함
typedef struct {
char brand[50];
int year;
} Bag; // ← Bag은 새로운 타입 이름
// 사용할 때
Bag myBag; // ← "struct" 없이 바로 사용 가능!
typedef struct BagStruct {
char brand[50];
int year;
} Bag;
// 사용할 때 두 가지 방법 모두 가능
struct BagStruct myBag1; // 방법 1
Bag myBag2; // 방법 2 (더 간단)
이렇게 생각하시면 되겠습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 이진우님.
구조체와 typedef에 대한 혼란을 이해할 수 있습니다. 이를 명확히 하기 위해 C언어에서 struct와 typedef를 어떠한 방식으로 사용하는지 설명드리겠습니다.
struct와 typedef 개념struct:struct 키워드를 사용하여 새로운 데이터 타입을 정의할 수 있습니다.struct를 통해 정의된 구조체는 선언 시 항상 struct 키워드가 다시 등장해야 합니다. struct Bag {
int itemID;
char itemName[50];
};
struct Bag bag1; // 구조체 변수 선언
typedef:typedef는 기존 데이터 타입에 새로운 이름을 부여하여 보다 간편하게 사용할 수 있게 해줍니다. 이는 주로 코드의 가독성을 높이는 데 도움을 줍니다. typedef struct {
int itemID;
char itemName[50];
} Bag;
Bag bag1; // typedef를 사용하여 간단하게 변수 선언 가능
typedef를 사용하면, typedef로 정의된 이름(Bag)을 새로운 데이터 타입처럼 사용할 수 있습니다. 이 경우 struct 키워드를 생략할 수 있어 편리합니다.이와 관련된 유사한 질문과 답변이 Inflearn에 있습니다:
typedef 사용법에 대해 다룬 게시물을 참고하시면 도움이 될 것입니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.