강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

ajh427님의 프로필 이미지
ajh427

작성한 질문수

홍정모의 따라하며 배우는 C++

struct 나 class스 선언뒤에 }; 이두기호 사이에 무언가가 삽입?되는게 궁금합니다

작성

·

174

0

typedef struct tagData

{

}Data;

이렇게 쓰여진 코드를 봤는데 저뒤에 Data 가 무엇인지 

그리고 클래스같은곳에서도 이렇게 쓰이는지 궁금합니다.

답변 2

2

typedef 때문에 저렇게 쓸 수 있는 것입니다!

struct tagData

{

}Data;

이렇게나

class tagData

{

}Data;

이렇게는 안돼요..! 질문자님께서 질문 주신 이러한 부분은 typedef 때문에 저렇게 쓸 수 있는 것입니다. 

typedef 는 별명을 만들어주는 역할을 합니다. typedef A B; 는 A 를 앞으로 B 라고 부르겠다는 뜻입니다.

typedef struct tagData

{

}Data;

이 코드는 typedef A B; 에서 A 가 tagData 구조체인 것이에요! 정의도 한꺼번에 같이 해준 것이죠.

위와 같이 코드를 쓰게된다면 앞으로 tagData 는 Data 로도 부를 수 있게 되는 것입니다.

ajh427님의 프로필 이미지
ajh427
질문자

항상 감사합니다! 그러면 윗 예제에서는 저 구조체를 tagData 또는 Data 중 어떤것으로 불러도 상관없는건가요?? 그리고 class 에서도 같은 맥락으로 사용 가능한가요?

0

ajh427님의 프로필 이미지
ajh427
질문자

항상 감사합니다! 그러면 윗 예제에서는 저 구조체를 tagData 또는 Data 중 어떤것으로 불러도 상관없는건가요?? 그리고 class 에서도 같은 맥락으로 사용 가능한가요?

네네 상관 없어요. class 에도 적용 가능합니다!

ajh427님의 프로필 이미지
ajh427
질문자

감사합니다 ㅎㅎ

ajh427님의 프로필 이미지
ajh427

작성한 질문수

질문하기