일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- sample_n()
- distinct()
- samp;e_frac()
- groupe_by()
- summarize()
- AES
- select()
- 대칭형 알고리즘
- dplyr
- filter()
- arrange()
- proc contents
- mutate()
Archives
- Today
- Total
Gae Ko's Blog
[C] enum 그리고 enum&typedef 본문
>> 2주차 과제를 하다가 알게 된 것들
1. enum (열거형)
열거형은 정수형 상수에 이름을 붙여서 코드를 이해하기 쉽게 해준다.
만약 다음과 같이 var1, var2, var3 라는 정수형 상수를 선언해야하는 상황에서 2-3개는 괜찮지만 그 개수가 많아지면 일일이 선언하기가 귀찮아짐.
1 2 3 | const int Var1 = 1; const int Var2 = 2; const int Var3 = 3; | cs |
이런 경우 열거형을 사용하면 정수형 상수를 좀 더 편하게 정의할 수 있음
열거형 정의 방법은 다음과 같다.
1 2 3 4 5 | enum 열거형이름 { 값1 = 초깃값, 값2, 값3 }; | cs |
정의한 열거형을 사용하려면 열거형 변수를 선언해야 한다.
- 선언 방법 : enum 열거형이름 변수이름
// 문법으로 정해진 규칙은 아니지만 열거형 이름이나 값을 정의할 때 대문자만 사용하는 경우가 많다
(예제)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <stdio.h> enum DayOfWeek { // 열거형 정의 Sunday = 0, // 초깃값 할당 Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; int main() { enum DayOfWeek week; // 열거형 변수 선언 week = Tuesday; // 열거형 값 할당 printf("%d\n", week); // 2: Tuesday의 값 출력 return 0; } | cs |
2. typedef와 익명 열거형
1 2 3 4 5 | typedef enum 열거형이름 { 값1 = 초깃값, 값2, 값3 } 열거형별칭; | cs |
typedef로 열거형의 별칭을 만들었다면 변수는 다음과 같이 선언한다.
- 선언 방법 : 열거형별칭 변수이름;
(예제)
1 2 | // c언어에는 다른 언어와 달리 불린(boolean)형이 따로 없다. typedef enum { FALSE, TRUE } Boolean ; | cs |
// 수업시간에 교수님께서 반드시 FALSE가 먼저 선언되어야 한다고 하셨는데 그 이유가 FALSE 값이 0으로 인식되고 TRUE값은 1로 인식되도록 하기 위함이었다. ㅎㅎ
// 일반적으로 다른언어에서도 그렇고 false = 0, true = 1이니까
[참고]
https://dojang.io/mod/page/view.php?id=480
☞ http://sciphy.tistory.com/899 ( 열거형 & 구조체 & 공용체)
'프로그래밍언어 > C' 카테고리의 다른 글
[C] 포인터 (0) | 2018.03.28 |
---|---|
[C] 구조체 (0) | 2018.03.18 |
[C] 표준입력함수 scanf() (0) | 2018.03.10 |
[C] double형 변수에 대한 절대값 구하기 : fasb() (0) | 2018.03.09 |
[C] Main 함수의 매개변수 (argc, argv) (1) | 2018.01.16 |