(9-2)struct

C/C언어 이론 2018. 10. 3. 19:03

열거형 (enumeration)

- '정수'를 미리 열거해놓은 자료형

- 가독성 향상 용도로 쓰임

- 기본 값 0 (값을 지정하지 않았을 때)

- 값이 지정되지 않으면 앞의 숫자보다 1 증가

- 원하는 정수를 어느 위치던 대입할 수 있다.

- 항목 이름이 중복되면 안 된다.


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h>
 
enum ENUM1 { A1, B1, C1, D1, E1 };
enum ENUM2 { A2 = 1, B2, C2 = -200, D2, E2 };
 
enum _LANGUAGE // _LANGUAGE 이름은 필요가 없어서 _ 붙임 (구조체 typedef와 비슷)
{
    LANGUAGE_C = 1,
    LANGUAGE_JAVA,
    LANGUAGE_PYTHON
};
// 열거형은 이런식으로 사용한다. (초기값을 지정하고 쭉~~ 항목을 나열)
 
 
// 값이 중요하기 보다는 어떤 문제인지 명확히 알아야 할 때
enum _ERR_CODE
{
    ERR_SUCCESS = 1,
    ERR_FAIL,
    ERR_FILE_SIZE,
    ERR_MEMORY,
    ERR_DISK
};
 
 
 
void main()
{
    //int iNum = B1;    // 열거형 문자 자체가 정수가 된다. (정수한테 이름을 부여)
 
    int iNum = 0;
 
    printf("===============\n");
    printf("[재미있는 프로그래밍~~!]\n");
    printf("1. C언어\n");
    printf("2. JAVA\n");
    printf("3. PYTHON\n");    
    printf("===============\n");
 
    printf("공부할 언어를 입력하세요 : ");
    scanf("%d"&iNum); // & 필수
 
    switch( iNum )
    {
        // case에 1,2,3 써있으면 무얼 의미하는지 코드를 다시 찾아봐야한다.
        // 하지만 열거형으로 1,2,3에 이름을 부여해놓으면 이름만 봐도 알 수 있다(가독성향상)
    case LANGUAGE_C:
        printf("C언어~~!\n");
        break;
    case LANGUAGE_JAVA:
        printf("JAVA!!\n");
        break;
    case LANGUAGE_PYTHON:
        printf("파이썬~!!!!\n");
        break;
 
    default : 
        printf("잘못 입력하였습니다. (%d)\n", iNum);
    }
}
cs


   





'C > C언어 이론' 카테고리의 다른 글

(9-1)struct  (0) 2018.10.03
(8-4)Pointer  (0) 2018.10.03
(8-3)Pointer  (0) 2018.10.03
(8-2)Pointer  (0) 2018.10.03
(8-1)Pointer  (0) 2018.10.03

설정

트랙백

댓글