typedef enum 예제

 

열거자 값은 정수로 저장되므로 열거자의 값을 설정하거나 열거자의 값을 테스트하는 데 정수를 사용할 수 있습니다. 5. 모든 열거형 상수는 해당 범위에서 고유해야 합니다. 예를 들어 컴파일에서 다음 프로그램이 실패합니다. typedef 키워드를 사용하여 수명 된 데이터 형식을 완벽하게 정의 할 수 있습니다. 이 키워드를 사용하면 소스 코드를 더 쉽게 따르도록 하기 위해 기존 데이터 형식에 새 이름을 지정할 수 있습니다. 예를 들어 프로그램에 대한 부울 데이터 형식을 만들려는 경우 유용할 수 있습니다. 부울 형식의 변수는 거짓 또는 true(각각 값 0과 1로 표시)의 두 값 중 하나를 취할 수 있습니다. 많은 프로그래밍 언어에는 특정 부울 데이터 형식이 있지만 C는 그렇지 않습니다. 따라서 다음과 같은 문으로 부울 데이터 형식을 만들 수 있습니다. 온도를 묻는 경우 비수치 값을 입력하면 이러한 종류의 대치 오류를 트래인한 코드가 포함되어 있지 않으므로 온도 변수의 기본값이 0입니다. 이 프로그램은 또한 대문자 `Y`와 `N`만 받아들이고 “외부에 비가 내리고 있습니까?”라는 질문에 대한 응답으로 `y` 또는 `n`을 입력하면 오류를 보고합니다.

그럼에도 불구하고, 그것은 생성 및 수반 된 데이터 형식 (부울)의 사용을 보여 주는 역할을 한다. 기본적으로 열거형 변수에 대해 저장된 값은 0부터 1까지(N – 1)이며, 여기서 열거체에는 N 요소가 있습니다. 그러나 변경할 수 있습니다. 경우에 따라 typedef가 개별 데이터 형식(char, int, float …)과 함께 사용될 때 프로그램을 다른 플랫폼으로 보다 쉽게 이식할 수 있도록 합니다. 예를 들어, 우리는 이제까지 변수 유형이 32 비트인 것을 전체 단어와 같은 이름을 typedef 수 있습니다. 그런 다음 프로그램을 다른 플랫폼으로 포팅할 때 필요한 경우 typedef 정의를 변경할 수 있으며 데이터 선언을 수정할 필요가 없습니다. 이 예제에서 for 루프는 i = 0에서 i = 11까지 실행되며, 처음에는 i값이 Jan인 0이고 12월 값은 11입니다. 2. 열거형 이름에 값을 명시적으로 할당하지 않으면 컴파일러는 기본적으로 0부터 시작하는 값을 할당합니다. 예를 들어 다음 C 프로그램에서 일요일은 값 0을, 월요일은 1을 가져옵니다.

typedef는 열거형 및 구조체 정의를 포함한 모든 데이터 형식의 이름을 바꿀 수 있으며 곧 연구할 것입니다.