2012-05-27 4 views
2

열거 형을 처리 할 때 메모리를 관리해야합니까? 여기가 내 열거 형을 선언 한 곳입니다. 내가 그 후
을 변수 선언하려고 나는 O를 가지고 수행이 단지 기본 C 타입입니다Objective C typedef 열거 형 메모리 관리

// This is where I declared my enum type. It is in another .h file 

    typedef enum CardTypes 
    { 
     HEART = 1, 
     DIAMOND =2, 
     CLUB =3, 
     SPADE = 4 

    } CardType; 

    // This is where I attempt to declare variable 

    CardType cardType=SPADE; 

    //or 

    CardType cardType=malloc(size(CardType)); 

    // After that Do I have o do something like that 

    [cardType release] 

    //or 

    free(&card) 

    Any help will be appreciated , thanks 

답변

2

같이 할 곳은 다른 .H 파일 에 - 그리고 그것은 int처럼 바로 처리 할 것 이 점에서.

이 자동으로 이루어집니다 :

CardType cardType=SPADE; 

을하지만 당신은 당신이 malloc를 사용해야 찾을 때, 당신은 그것을 free해야합니다. 일반적으로

(예를 들어, 매개 변수, 바르, 지역 변수), 당신은 값으로 열거를 선언,하지만 (같은 int) 가끔씩 + free malloc을 사용해야 할 수도 있습니다.

1

에 cardType 유형 = SPADE - 스택에 메모리를 할당 (필요 없음 메모리 관리)

에 cardType * 유형 = malloc을 (를 sizeof (에 cardType는)) - 때문에 명시 적 alloction의, 힙 메모리 (포인터 * 언급을) 할당 무료 (유형)

을 사용하여 메모리를 확보해야합니다.