데이터를 효과적으로 변수에 담기위해 구조체 / 공용체 / 열거체를 사용한다.
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 | #include "stdafx.h" #include <iostream> using namespace std; // 구조체 선언 struct structSample { char name[10]; int number; }; // 공용체 선언 union unionSample { int number1; void * number2; }; // 열거체 선언 enum {GOOGLE, KAKAO, NAVER}; // 구조체 + 열거체 enum PAY_METHOD { GOOGLE_PAY, KAKAO_PAY, NAVER_PAY }; struct userInfo{ PAY_METHOD payMethod; char name[10]; }; int _tmain( int argc, _TCHAR* argv[]) { // Ex1> 구조체 사용 structSample userA = { "opendocs1" , 100}; cout << "Ex1 :: " << userA.name << " // " << userA.number << "\n" ; // Ex2> 공용체 사용 unionSample userB; // - 모든 멤버가 같은 메모리 공간을 차지하고 있어 한개의 값만 바꿔도 모두 변경된다. userB.number1 = 200; cout << "Ex2 :: " << userB.number1 << " // " << ( int )userB.number2 << "\n" ; // Ex3> 열거체 사용 // - 전역에서 사용되는 상수를 정의하여 사용할 수 있다. userInfo userC = { KAKAO_PAY, "opendocs2" }; cout << "Ex3 :: " << userC.payMethod << " // " << userC.name << "\n" ; return 0; } |
* 가장 많이 사용되는 구조체는 여러 유형의 데이터를 그룹으로 많들어 한개의 객체처럼인식하고 프로그래밍 할 수 있도록 한다. * 공용체는 거의 사용되지 않으나 모든 멤버가 같은 메모리 공간을 차지하고 있다는 특징이 있다 * 데이터의 유형을 전역에서 효과적으로 분기하고 명시적인 프로그래밍을 하기위해서 열거체가 사용된다.