#include <stdio.h>
enum season {SPRING, SUMMER, FALL, WINTER};
int main(void){
enum season ss;
char *pc = NULL;
ss = SPRING;
switch (ss){
case SPRING: pc = "inline"; break;
case SUMMER: pc = "swimming"; break;
case FALL: pc = "trip"; break;
case WINTER: pc = "skiing"; break;
}
printf("my regier activity => %s\n", pc);
return 0;
}
### Enum 선언
- `enum season {SPRING, SUMMER, FALL, WINTER};`는 `season`이라는 열거형을 정의하며, `SPRING`, `SUMMER`, `FALL`, `WINTER` 네 가지 열거자를 포함합니다. 이들 열거자는 0부터 시작하는 정수 값이 자동으로 할당됩니다. 즉, `SPRING`은 0, `SUMMER`은 1 등으로 할당됩니다.
### Main 함수
- `enum season ss;`는 `enum season` 타입의 변수 `ss`를 선언합니다.
- `char *pc = NULL;`는 문자 포인터 `pc`를 `NULL`로 초기화합니다. 이 포인터는 나중에 특정 시즌에 관련된 활동을 나타내는 문자열 리터럴을 가리키게 됩니다.
- `ss = SPRING;`은 시즌을 `SPRING`으로 설정합니다.
- `switch` 문은 `ss`를 평가하고, 그 값에 따라 `pc`에 문자열 리터럴의 주소를 할당합니다. 각 `case`는 다른 시즌에 해당하며, `pc`에 계절 활동을 할당합니다:
- `SPRING`의 경우, `pc`는 `"inline"`을 가리키게 설정됩니다.
- `SUMMER`의 경우, `pc`는 `"swimming"`을 가리키게 설정됩니다.
- `FALL`의 경우, `pc`는 `"trip"`을 가리키게 설정됩니다.
- `WINTER`의 경우, `pc`는 `"skiing"`을 가리키게 설정됩니다.
- 마지막으로, `printf("my regier activity => %s\n", pc);`는 선택된 활동을 출력합니다. `ss`가 `SPRING`으로 설정되었기 때문에 출력 결과는 `"my regier activity => inline"`이 됩니다.
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 17) 구조체 배열을 초기화하고 출력 (1) | 2024.10.04 |
---|---|
chapter 17) 자기 참조 구조체로 list 만들기 (0) | 2024.10.03 |
chapter 17) 배열과 포인터를 멤버로 갖는 구조체 사용 (0) | 2024.10.01 |
chapter 17) 명령형 인수를 출력하는 프로그램 (0) | 2024.09.30 |
chapter 17) 다른 구조체를 멤버로 갖는 구조체 사용 (0) | 2024.09.29 |