블로그 이미지
하루, 글. 그림. 영상매체. 표현을 도와주는 기기들. 도전 중. 동화다아아
    동화다아아

    카테고리

    분류 전체보기 (176)
    잡담 (1)
    IT 기기-리뷰&뉴스 (7)
    리뷰 - 도서 (1)
    리뷰 - 영상 (0)
    리뷰 - 그림/음악 (1)
    내장형 하드웨어 (163)
    Total
    Today
    Yesterday
     - 열거형(enum)

    ⇒ 열거형은 이름을 갖는 정수형의 상수를 정의하여 프로그램을 이해하기 쉽게 해준다. 열거형은 예약어 enum을 사용하여 정의하며, 형식은 다음과 같다.

    ⇒ 

            

    enum type_name

    {

         열거리스트

    };


    ⇒ 열겨형의 정의와 사용의 예는 다음과 같다.

     enum day_type = {sun, mon, tue, wed, thu, fri, sat};

     enum day_type today, yesterday;

     today = mon;

     yesterday = today - 1;

     printf("today is %d\n", today);

     → day_type은 자료형의 이름이고, 요일의 이름이 열거 리스트를 구성하고 있다. 내부적으로 열거리스트의 각 원소는 다음과 같이 0에서 시작하는 정수 값을 가지고 있다.

     

     sum = 0, mon = 1, tue = 2, wed = 3, thu = 4, fri = 5, sat = 6


     → 프로그램 내에서 각 원소의 값을 임의로 지정할 수 있다.

     enum day_type = {sun=2, mon=3, tue=25, wed=34, thu=47, fri=55, sat=99};



    - 예제

    #include<stdio.h>

    struct test
    {
            
    int one;
    };
    enum test2  
    {
            ZERO 
    = 100// 초기화 안하면 0 나온다 
            
    ONE = 105// ; 쓰면 안된다. 숫자 정수로 취급된다.
            
    TWO, // 기준점부터 1씩 증가한다.
            
    THREE
    };

    int main()
    {
            
    struct test A;
            
    enum test2 B; // B는 unsigned int 형-C는 구별 못한다. C++은 구분

            
    = ONE;
            A.one 
    = ONE;

            printf(
    "A.one = %d\n", A.one);
            printf(
    "ZERO = %d\n", ZERO);
            printf(
    "ONE = %d\n", ONE);
            printf(
    "TWO = %d\n", TWO);
            printf(
    "THREE = %d\n", THREE);

            printf(
    "B = %d\n", ONE);
     
            
    = 105// C++에서는 에러, C에서는 구별 못해서 받아들인다.
      
            printf(
    "B = %d\n", B);
            
    return 0;
    }

    ⇒ 출력 결과

            

    Posted by 동화다아아
    , |

    최근에 달린 댓글

    최근에 받은 트랙백

    글 보관함