달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2015. 10. 23. 01:36

열거형 enum 프로그래밍/자료구조설계2015. 10. 23. 01:36

열거형이란 내가 사용할 데이터들의 집합이다. 예를들어 TRUE, FALSE나 색깔, 요일, 과일 등의 집합이다.

int와 같이 열거형에 키워드가 있는데 그것은 'enum'이다.


1. 열거형 정의

열거형은 다음과 같이 선언한다.

enum    열거형_이름    {멤버_변수들};

예를들어 enum daynames {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; 이렇게 선언할 수 있다.

이때 멤버변수들은 맨 좌측이 0이고, 좌측에서 우측으로 갈 수록 값이 1씩 커진다.

그런데 만약에 초기값을 Sun = 7 으로 했다면, 그 다음 변수는 1이 커져서 4가 된다.


2. 열거형 변수 선언

열거형 변수는 먼저 열겨형으로 선언한 멤버들만 저장할 수 있는 변수를 말한다.

구조체와 비슷하게 enum+열거형_이름이 자료형이라고 생각할 수 있기 때문에 열거형 변수는 다음과 같이 선언한다.

enum    열거형_이름    변수_이름

선언 후에는 자기 멤버만 넣을 수 있다.

 enum daynames today;
    today = Mon;



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <stdio.h>
 
enum daynames {Sun= 7, Mon = 1, Tue, Wed, Thu, Fri, Sat};
 
int main(){
    printf("Sun : %d\n", Sun);
    printf("Mon : %d\n", Mon);
    printf("Tue : %d\n", Tue);
    printf("Wed : %d\n", Wed);
    printf("Tue : %d\n", Tue);
    printf("Fri : %d\n", Fri);
    printf("Sat : %d\n", Sat);
 
    int remaining;
    enum daynames today, dday;
    today = Mon;
    dday = Fri;
 
    remaining = dday - today;
    if (remaining >= 0)
        printf("D-%d\n", remaining);
    else
        printf("D-day already came.\n");
 
    return 0;
}
cs


'프로그래밍 > 자료구조설계' 카테고리의 다른 글

인터넷 check sum 함수의 구현  (0) 2016.02.08
다운  (0) 2016.02.07
void*  (0) 2015.10.23
윈도우에서 리눅스처럼 컴파일하기  (1) 2015.09.19
:
Posted by youjin.A