\ # define 과 enum, 네가 모 르 는 것들

언제 enum 을 사용 해 야 합 니까? 즉, 변수의 수 치 는 몇 범위 사이 에 있 습 니 다. red, blue, black. 이렇게 enum 을 사용 하 는 것 이 좋 습 니 다. 물론 define 을 사용 할 수도 있 습 니 다. 하지만 define 은 유지 하기 가 귀 찮 습 니 다.
\ # define 이 비교적 적은 변수 에 적합 할 때.
enum 키워드 로 상수 (즉 매 거 상수 설명) 는 다음 과 같은 몇 가지 장점 이 있 습 니 다.
 (1) 프로그램 을 쉽게 유지 할 수 있 습 니 다. 매 거 진 상수 가 컴 파일 러 에 의 해 자동 으로 생 성 되 기 때문에 식별 자 상수 가 프로그래머 에 의 해 수 동 으로 할당 되 어야 합 니 다.예 를 들 어 프로그램 으로 매 거 진 상수 그룹 을 정의 할 수 있 습 니 다.       발생 할 수 있 는 오류 번호 입 니 다. 다음 예 를 보십시오.      enum Error_Code         {         OUT_OF_MEMORY,             INSUFFICIENT_DISK_SPACE,             LOGIC_ERROR,         FILE+NOT_FOUND     };        상례 에서 OUT OF MEMORY 등 매 거 진 상수 가 컴 파 일 러 에 의 해 0, 1, 2, 3 으로 자동 할당 되 었 다.     마찬가지 로, 당신 도 \ # define 명령 으로 유사 한 상수 그룹 을 설명 할 수 있 습 니 다. 다음 예 를 보십시오.     #define OUT_OF_MEMORY                  0         #define INSUFFICIENT_DISK_SPACE    1     #define LOGIC_ERROR                        2     #define FILE_NOT_FOUND                  3    상술 한 두 사례 의 결 과 는 같다.
(2) 프로그램 디 버 깅 을 더욱 편리 하 게 합 니 다. 일부 식별 자 디 버 깅 프로그램 은 상수 의 값 을 인쇄 할 수 있 기 때 문 입 니 다. 이 점 은 디 버 깅 프로그램 에서 매우 유용 합 니 다. 프로그램 이 상수 의 하 나 를 사용 하고 있다 면.      행 문 에서 멈 추 면 바로 이 상수 의 값 을 검사 할 수 있 습 니 다. 반대로 대부분의 디 버 깅 프로그램 은 식별 자 상수 의 값 을 인쇄 할 수 없 기 때문에 헤더 파일 에서 이 상수 를 수 동 으로 검사 해 야 합 니 다.     의 값.
매크로 정의 와 의 차이 점 과 연결:
매 거 진 것 과 define 는 swthich 를 사용 할 수 있 습 니 다. 매 거 진 것 은 유형 안전 이 아 닙 니 다. 매 거 진 것 은 성형 값 만 정의 할 수 있 습 니 다. define 는 거의 모든 값 을 정의 할 수 있 습 니 다.
enumNodeType { AND, OR};
voidmain()
{
NodeType type;
switch(type)  
{
caseAND:break;
caseOR:break;  
}
return0;
}
매크로 와 매 거 진 간 의 차 이 는 주로 작용 하 는 시기 와 저장 형식 이 다 르 고 매크로 는 예비 처리 에 있다.
코드 세그먼트 의 텍스트 를 바 꾸 는 단계 입 니 다. 프로그램 이 실행 되 는 과정 에서 매크로 가 아 닙 니 다.
존재 합 니 다. 매 거 진 것 은 프로그램 이 실 행 된 후에 야 작 동 합 니 다. 매 거 진 상수 가 데이터 세그먼트 에 저 장 됩 니 다.
정적 저장 소 에 있 습 니 다. 매크로 는 코드 세그먼트 의 공간 을 차지 합 니 다. 공간 을 차지 하 는 것 외 에 CPU 도 소모 합 니 다.
자원 
그러나 이것 이 매 거 진 것 보다 매크로 가 좋다 고 말 할 수 는 없다. 만약 에 많은 상수 가 필요 하 다 면 하 나 를 사용 하 라.
enum {.....} 은 많은 define 보다 뚜렷 하고 매 거 진 것 도 정의 할 수 있 습 니 다.
특수 유형, 예 를 들 어 Bool, 예 를 들 어: 
type enum {FALSE,TRUE} Bool;
요약:
define  :
      :           ,    、  、    。
      :      (      ),      ,        ;
                             。
enum  :
      :      
      :      ,           。
                     ,    。
             enum。

좋은 웹페이지 즐겨찾기