Programming/C++
[C++] 구조체
콩순이컴퓨터
2025. 6. 3. 00:23
구조체란 ? "사용자 정의 자료형"을 말한다.
int, float, char 등 이미 정의되어 있는 자료형을 사용할 수도 있지만 여러 가지 자료형이 합쳐진 나만의 자료형을 만들어 사용할 수도 있다. 선언 방식과 사용법은 아래 코드와 같다.
- typedef : type을 재정의한다.
- struct : 구조체를 선언한다.
typedef struct _tagMyST
{
int a;
float f;
}MYST;
typedef struct _tagBig
{
MYST k;
int i;
char c;
}BIG;
int main()
{
MYST t = {100, 3.14f}; //8byte
t.a = 10; //값 변경도 가능
t.f = 10.2312f;
int iSize = sizeof(MYST); //내가 선언한 변수 or 자료형의 사이즈 값 확인 가능
return 0;
}
그런데 C와 C++의 정의 방식이 약간 다르다.
// C
struct NewStruct
{
int a;
float b;
};
struct NewStruct a; //struct라고 "명시"해 주어야 함
// C++
typedef struct NewStruct
{
int a;
float b;
}NEWST;
NEWST a;