[C] 구조체
- 구조체란
사용자 정의 자료형 User define data type
struct: 구조체라고 부른다.
-typedef란
typedef: 타입을 재정의 해준다.
- typedef 예시
typedef int INT;
예시처럼 적을 시 INT라고 적어도 프로그램은 int라고 인식한다. (INT -> int 인식)
typedef struct _tagMyST
{
int a;
float f;
} MYST;
int main()
{
MYST t; // 이 구조체는 데이터 타입이 int 하나, float 하나 있기 때문에 8byte이다.
return 0;
}
- C 스타일
struct _tagMyST라고 매번 쓰면 불편하니까 전체를 MYST라고 쓰겠다고 typedef을 해주어서 MYST라고 쓴다.
c에서는 구조체를 쓸 때 단순히 _tagMyST라고 변수를 쓸 수 있는 게 아니라 struct를 붙여줘야 한다.
- C++ 스타일
C++에서는 struct를 굳이 안 쓰고 _tagMyST라고 써도 된다.
일반적으로 양쪽 다 문제없는 범용성 있는 사용을 추구해서 C++에서도 C처럼 쓸 때가 많다.
'공부 > C, C++' 카테고리의 다른 글
[C] const, const 값 바꾸기 (0) | 2022.01.04 |
---|---|
[C] 포인터 Pointer (0) | 2022.01.03 |
[C] 변수(지역 변수, 전역 변수, 정적 변수, 외부 변수) (0) | 2022.01.02 |
[C] 분할 구현 (0) | 2022.01.02 |
[C] 배열 (0) | 2022.01.01 |
댓글