5장. 논리적 자료표현: 구조체
차례
구조체
구조체 배열과 포인터
구조체
자료의 논리적 표현 단위
사용자가 필요에 의해 여러 자료를 하나의 자료형으로 정의
데이터 베이스의 레코드 형식을 하나의 자료형으로 정의
구조체 정의
구조체 태그 : 구조체 식별자, 생략 가능함
구조체 멤버 : 구조체를 구성하는 항목
구조체 -> 하나의 자료형!!
일반 변수는 변수이름 그대로 사용 :
strcpy_s(Name, 30, “김갑돌”);
구조체형 변수의 멤버 사용 – 구조체 멤버 참조 연산자(.)를 사용함
strcpy_s(friend.Name, 30, “김갑순”);
#include <iostream>
#include <string>
using namespace std;
int main()
{
struct
{
char Name[30];
char MPhoneNum[20];
} Friend;
strcpy_s(Friend.Name, 30, "김갑돌");
strcpy_s(Friend.MPhoneNum, 20, "010-8741-0000");
cout << Friend.Name << endl;
cout << Friend.MPhoneNum << endl;
return 0;
}
구조체를 구조체 멤버로
구조체 멤버에 또 다른 구조체형 변수가 멤버로 사용이 가능함
#include <iostream>
using namespace std;
int main()
{
struct POINT
{
int x;
int y;
};
struct RECT
{
struct POINT LeftTop;
struct POINT RightBottom;
int area;
};
struct RECT a;
a.LeftTop.x=10;
a.LeftTop.y=100;
a.RightBottom.x=50;
a.RightBottom.y=15;
a.area=(a.RightBottom.x-a.LeftTop.x)*(a.LeftTop.y-a.RightBottom.y);
cout << "직사각형 면적 : " << a.area << endl;
return 0;
}
'C > [언어본색] C 기초' 카테고리의 다른 글
[언어 본색] #24 5장 - 구조체 배열과 포인터 (0) | 2021.10.12 |
---|---|
[언어 본색] #21 4장 - 동적 할당 (0) | 2021.10.11 |
[언어 본색] #20 4장 - 포인터: 메모리 주소 (0) | 2021.10.11 |
[언어 본색] #19 4장 - 문자열 (0) | 2021.10.11 |
[언어 본색] #18 4장 - 배열 (0) | 2021.10.01 |