보통 구조체는 타입 선언해서 쉽게 사용하려고 하잖아요?
// 1번 소스
typedef struct infostudent
{
int number;
int grade;
} INFO_STUDENT;
void main()
{
INFO_STUDENT student;
student.number = 1;
}
예를 들어 위 소스 가장 위에서 INFO_STUDENT 타입을 새로 만들어서 main에서 쉽게 사용하죠
그런데 typedef struct infostudent의 infostudent이건 왜 써야되는지 모르겠는게 질문입니다.
//2번 소스
typedef struct
{
int number;
int grade;
} INFO_STUDENT;
void main()
{
INFO_STUDENT student;
student.number = 1;
}
이렇게 해도 똑같이 작동하는데 왜 구조체 태그 infostudent를 써야되나요?
어차피 typedef한 새로운 자료형 이름인 INFO_STUDENT를 사용할테니 구조체 태그는 안써도 상관없지 않나요?
오히려 태그랑 타입이름 네이밍할때 고민할게 하나 줄어들어서 좋은 방식같다는게 제 생각인데 잘못알고 있는부분 있으면 짚어주세요
응 안써도되
슈발 속시원한 설명 감사합니다~ 이제부터 구조체 태그 안씁니다 ㅋㅋㅋㅋ
C에선 typedefine 안하면 구조체 선언을 다 해줘야 해서 썼던 것 cpp에선 필요 없음
그냥 struct Structname {}