공부/C언어2011. 6. 22. 14:13


Union
공용체라고 한다. union은 선언은 구조체 선언하는 것과 비슷한데, 메모리할당 측면에서 구조체는 구조체안에 있는 변수만큼 메모리가 할당되지만, union은 멤버변수중에 가장 사이즈가 큰 것으로 메모리가 할당되고 그 할당된 메모리를 다른 변수들이 같이 쓴다. 예를 들면 union 안에 int와 char가 있으면 5byte(4+1)이 할당되지 않고 4byte가 할당되어 2개 변수가 그 메모리 영역을 같이 쓴다.

Union 활용(Endian 변경)
http://shinluckyarchive.tistory.com/283


Enum
열거형타입이라고 한다. 타입이름을 정할 수 있고 그 타입은 일정한 값들만 허용된다.
예) Color라는 타입을 만들고 red, blue, green 값을 가질 때
enum Color{
RED, BLUE, GREEN };

왜 쓰는가? enum이 좋은점은 메소드나 클래스가 enum에 정의되어 있는 값만 사용된다. 이상한 값이 들어오는 것을 막아준다. 타입의 안전과 값의 안전.

참고
http://destiny738.tistory.com/entry/C%EC%96%B8%EC%96%B4-%EC%9C%A0%EB%8B%88%EC%98%A8-union-%EC%97%B4%EA%B1%B0%ED%98%95-enum 

드퍼스트 객체지향 방법론

'공부 > C언어' 카테고리의 다른 글

함수포인터  (0) 2011.07.10


Posted by skyjumps