집계 데이터 유형: 여러 개별 변수를 함께 그룹화하는 데이터 유형.
구조체(struct): 집계 데이터 유형 중 하나로 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것.
이때 같은 변수만 사용하거나 여러 변수를 섞어서도 사용가능하다.
구조체 안에서 멤버(필드)와 멤버함수를 정의할 수 있다.
struct PersonalInfo { //일반적으로 구조체 이름은 대문자로 시작.
int SSD = 0101011234567; //기본값 지정 가능.
string name;
string address;
};
struct GymMemberInfo {
PersonalInfo p; //중첩된 구조체
int height;
int weight;
void printGymInfo() { //멤버함수 정의 가능.
cout << p.name <<' '<< p.address<<' '<< height <<' ' << weight << '\n';
}
};
int main() {
//구조체 초기화하는 방법.
PersonalInfo p1 = { 0111111234567, "amy", "Seoul" };
PersonalInfo p2{ 1234561234567, "jack", "Tokyo" };
GymMemberInfo g1 = { {1212121234568, "gym", "Busan"},180,80 };
//멤버 접근 방법
p1.name = "jenny";
g1.p.name="sam";
g1.height = 170;
g1.printGymInfo();
}
구조체는 연속된 메모리에서 일렬로 저장되고 패딩에 따라 할당되는 메모리가 다를 수 있다.
▼참고
'C,C++' 카테고리의 다른 글
C++] Stream I/O function(read, gcount, write) (0) | 2023.08.12 |
---|---|
C++] Stream I/O function(get, getline, ignore,put) (0) | 2023.07.30 |
C++] Stream I/O (0) | 2023.07.30 |
C] 표준 입출력 방법 정리(scanf,printf,fgets,getchar,fgetc 등) (0) | 2023.07.19 |
C++] 빠른 입출력 방법(endl,'\n',cin.tie(NULL), ios_base::sync_with_stdio(false)) (0) | 2023.07.18 |