728x90
반응형
4. 구조체
- 모든 정보를 하나의 단위로 묶을 수 있는 데이터 형식
- 여러 종류의 데이터를 저장 가능
- 외부선언과 내부선언 [외부 변수와 내부 변수]
- 구조체 변수
- 변수 초기화는 한 행에 나타낼 수도 있다
- 공백을 가지면 0으로 초기화
guest.name;
pal.name;
guest.pcrice+pal.price;
-> 멤버 연산자를 이용해 구조체의 개별적인 멤버 접근
- string클래스로도 구조체 멤버 변수 가능
- 구조체 대입
- 구조체 정의와 동시에 구조체 변수 생성과 생성과 동시에 초기화도 가능하다
- 구조체를 함수의 매개변수로 전달
- 구조체를 리턴값으로 사용
- 구조체를 다른 구조체에 대입 [멤버별 대입]
- 구조체 정의와 동시에 구조체 변수 생성과 생성과 동시에 초기화도 가능하다
struct inflatable
{
...
}
int main()
{
inflatable bouquet = //'=' 생략 가능
{
...
}
inflatable choice;
choice = bouquet;
}
choice = bouquet -> 한 구조체를 다른 구조체에 대입 [멤버 별 대입]
- 구조체의 배열
- 원소가 구조체인 배열을 생성 가능
// arrstruc.cpp -- 구조체의 배열
#include <iostream>
struct inflatable
{
char name[20];
float volume;
double price;
};
int main()
{
using namespace std;
inflatable guests[2] = // 구조체의 배열 초기화
{
{"Bambi", 0.5, 21.99}, // 배열에 있는 첫 번째 구조체
{"Godzilla", 2000, 565.99} // 배열에 있는 그 다음 구조체
};
cout << guests[0].name << "와 " << guests[1].name
<< "의 부피를 합하면\n"
<< guests[0].volume + guests[1].volume
<< " 세제곱피트입니다.\n";
return 0;
}
- 구조체의 비트 필드
- 구조체 멤버들이 각각 일정 비트 수를 차지하도록 지정 가능
- 이름이 없는 필드를 사용하여 간격 지정 가능
728x90
반응형
'Programming > C++ 2' 카테고리의 다른 글
[C++] 4장. 복합 데이터형 - (7) 포인터와 메모리 해제 (0) | 2021.03.31 |
---|---|
[C++] 4장. 복합 데이터형 - (5) 공용체와 (6) 열거체 (0) | 2021.03.27 |
[C++] 4장. 복합 데이터형 - (3) String 클래스 (0) | 2021.03.27 |
[C++] 4장. 복합 데이터형 - (2) 문자열 (0) | 2021.03.27 |
[C++] 4장. 복합 데이터형 - (1) 배열 (0) | 2021.03.27 |