[C++] 4.10 Struct 구조체 설명
by #독개#/*
클래스로 넘어가기 위한 모든것을 포함하고있다
코드만 보면 다 이해된다
*/
#include <iostream>
using namespace std;
struct Person
{
double height;
int age;
string name;
float weight = 80.0; //함수의 파라미터처럼 미리 기본값을 넣어주면 구조체 호출할때 초기화안하면 이거쓴다
//c++에서 기본값 설정 매개변수는 제일오른쪽
void print()
{
cout << height << " " << weight << " " << age << " " << name << endl;
}
}; //struct뒤에도 ;들어간다 enum처럼
//함수의 리턴으로도 받아올수있다
Person getMe()
{
Person me{ 200,55,"아부지" };
return me;
}
//또다른 Struct안에 묶을수도있다
struct Family
{
Person mom{ 500,500,"어머니" };
Person brother{ 600,600,"형" };
};
int main()
{
Person me{ 100,36,"홍길동" }; //제일끝에 weight는 비웠다 ,을 생략해도된다 c++에서는 기본값이 있는 것은 항상뒤에 위치해야한다
/*
예전에는
me.height = 100;
me.weight = 80.0;
이런식으로 다적어줬는데 요즘엔 이렇게 안쓴다
*/
me.print();
//함수의 리턴으로도 받아올수있다
Person abc = getMe();
abc.print();
//또다른 Struct안에 묶을수도있다
Family F1;
F1.mom.print();
F1.brother.print();
return 0;
}
//Mystruct의 자료형의 크기는 2 + 4 + 8 byte가 나와야할것 같지만
struct MyStruct // 2 + (2) + 4 + 8 byte가 된다 sizeof로 구조체 사이즈도 볼수있다 (2)가 padding이라고한다
{
short id; //2byte
int age; //4byte
double wage; //8byte
};
🐱👓독하게 개발
'🔥 프로그래밍 학습 > C++' 카테고리의 다른 글
[C++] 5.3 Switch-Case (0) | 2022.11.13 |
---|---|
[C++] 5.1 IF 조건문 (주의사항위주) (0) | 2022.11.13 |
[C++] 4.9 Type Aliases 자료형에게 가명,별명 붙이기 (0) | 2022.11.12 |
[C++] 4.8 EnumClass 영역제한 열거형 (0) | 2022.11.12 |
[C++] 4.7 Enum 열거형 enumerated types (0) | 2022.11.12 |
블로그의 정보
독한 개발자
#독개#