728x90
반응형
앞으로 남은기간 배울 것은
1. 하드웨어 인터페이스
2. windows
3. C++ & ASM(모니터보기)
2. windows
3. C++ & ASM(모니터보기)
4. Zigbee
5. 프로젝트
열거형(enum)
열거형은 이름을 갖는 정수형의 상수를 정의하여 프로그램을 이해하기 쉽게 해 준다.
열거형의 예약어 enum을 사용하여 다음과 같이 정의하며, 형식은 다음과 같다.
열거형은 이름을 갖는 정수형의 상수를 정의하여 프로그램을 이해하기 쉽게 해 준다.
열거형의 예약어 enum을 사용하여 다음과 같이 정의하며, 형식은 다음과 같다.
enum type_name
{
열거 리스트
};
};
열거 리스트의 각 원소는 0에서 시작하는 정수 값을 가지고 있다.
열거형 1. enum test2 { ONE = 105 }; 는 2. #define ONE 105와 같은 결과를 가진다.
2번은 전처리시에 적용이 되는 것이고 1번은 C상에서 적용이 되는데 어느것을 사용하는것이 좋은지는 1번을 사용하는것이 좋다.
열거형 1. enum test2 { ONE = 105 }; 는 2. #define ONE 105와 같은 결과를 가진다.
2번은 전처리시에 적용이 되는 것이고 1번은 C상에서 적용이 되는데 어느것을 사용하는것이 좋은지는 1번을 사용하는것이 좋다.
이 소스에서 보면 출력값은 0이 나온다.
a.one가 가지는 값은 enum test2의 ONE 값을 가지고 있다.
이것은 enum의 ONE값이 0을 초기값으로 가지고 있다는 것을 알 수 있다.
여기의 출력값을 보면 enum test2 속에 ZERO, ONE, TWO 3개가 들어있다.
이것을 각각 출력한 결과 0 , 1 , 2 가 순서대로 출력이 되었다.
처음에 ONE하나만 있을때는 0이 출력이 되었지만 3개가 되어서는 0부터 순차적으로 값이 1씩 늘어난 것을 볼 수 있다.
이 소스를 통해서 보면 ZERO에 100이 들어가 있다.
출력값들은 ZERO를 기준으로 100부터 시작해서 1씩 증가된 값이 나왔다.
ZERO에 100이 들어있고 ONE에 105를 넣어보았다.
이때 ZERO에 100이 출력 ONE에 105출력 TWO에는 ONE에서 1이 늘어난 106이 출력이 되었다.
지금까지 확인한 결과를 보면 값이 들어있지 않을때는 0이 초기값으로 들어가고 순서대로 1씩 늘어나지만
값을 지정해서 주면 그 지정값을 가지고 값을 가지고 있지 않는 것은 바로 앞의 값에 영향을 받아 값이 늘어난 것을 볼 수 있다.
이 소스에서 보면 enum test2를 main 에서 b라는 변수로 선언했다.
이것이 가능한 것은 C는 enum test2를 변수가 아니라 enum type 이기 때문이다.
C에서는 b에 ONE과 105를 각각 넣어서 출력을 해보면 같은 결과가 나온다.
하지만 C++에서 컴파일을 해보면 에러가 난다.
이유는 C에서는 enum을 unsigned int로 인식을 하기 때문에 105를 넣어도 되지만 C++에서는 같은 타입이 아니기에 에러가 발생되는 것이다.
728x90
'코스웨어 > 11년 내장형하드웨어' 카테고리의 다른 글
[내장형]박춘우_2011년 8월 22일 월요일 Daily Report (16) | 2011.08.22 |
---|---|
[내장형]한원우_8월 19일 일일보고서 (11) | 2011.08.21 |
[내장형]이동현_08월18일_일일보고서 (8) | 2011.08.19 |
[MV] 21세기 모노리스 - 015B (0) | 2011.08.18 |
[내장형] 일일보고서(11년 8월 16일) 황세선 (31) | 2011.08.16 |
[내장형] 일일보고서(11년 8월 12일) 정선주 (14) | 2011.08.13 |
[내장형]심재원-2011년08월11일_일일보고서 (7) | 2011.08.11 |
[내장형]이수란_2011.8.10 (10) | 2011.08.10 |