C++
C++ 에서는 구조체 이름 자체가 독립적인 타입. 내부나 외부 어디서든 struct 없이 my_st만 써도 된다.
struct my_st
{
int i;
};
void func(my_st * p_myst); // 가능.
//// 구조체 멤버가 자기자신 참조 하는 경우
struct my_st
{
int i;
my_st* p_my_st; // 가능.
};
C
C 에서는 구조체 이름앞에 struct 명시필수. strruct 부착 안할려면 typedef struct .. 형식으로 선언한다.
struct my_st
{
int i;
};
void func(struct my_st * p_myst); // 항상 struct 임을 명시해야함.
////////////////// typedef struct
typedef struct _my_st //구조체 태그
{
int i;
} my_st; // 구조체 앨리어스
void func(my_st * p_myst); // struct 명시없이 가능.
////// typedef struct 정의하면서 구조체 태그 필요한 경우 . 멤버가 자기참조하는경우
typedef struct _my_st //구조체 태그
{
int i;
struct _my_st * p_my_st; //
} my_st; // 구조체 앨리어스
///////// 구조체 태그없이 정의해도됨.
typedef struct
{
int i;
} my_st;
C 스타일 구조체 정의 방식은 C++ 에서도 모두 지원되므로 C, C++ 혼재된 프로젝트라면 C 스타일로 구조체 정의하는게 유리함.
첫 등록 : 2026.03.08
최종 수정 :
단축 주소 : https://igotit.tistory.com/6496
'VisualStudio.C++.C# > 코딩팁,함수활용,단편' 카테고리의 다른 글
| cpp 파일의 전역함수, 전역변수 . extern "C" 처리 (0) | 2026.03.08 |
|---|---|
| winapi . 100나노초 UTC 시각 . GetSystemTimePreciseAsFileTime . (0) | 2026.01.22 |
| C . 실수 일정단위 분할하여 구간 인덱스만들기 . (0) | 2025.11.27 |
| 유니티 에서 C++ 로 제작된 DLL 활용 방법 . native plug-ins (0) | 2024.07.10 |
| MFC . CView . CDC TextOutW 문자열 출력. (3) | 2023.12.03 |
댓글