반응형

저번 1학기에 C프로그래밍 수업을 들었다. 

그 중 공용체를 따로 다루지 않아서 어떤 것일지 궁금해졌다. 

 

 

*공용체

 : union{} 으로 정의한다. 

  전체적인 구조는 구조체와 비슷하다.

 

 -구조체와 공용체의 차이점

  구조체는 구조체 안의 멤버들이 메모리를 각자 가지고 있어서 메모리에 있어서 독자적으로 움직인다. 

  공용체는 가장 큰 메모리를 갖는 멤버의 메모리를 다른 멤버들과 공유한다. 

 

  따라서 공용체 안의 한 멤버를 변경했을 때, 다른 멤버에 영향이 가서 우리가 원하는 대로 제대로 출력되지 않을 수 있다고 한다. 

 

그래서 공용체는 구조체에 비해 잘 사용되지는 않지만, 임베디드 시스템이나 펌웨어에 사용된다고 한다. 

 

교수님께서 자주 사용하지 않는다고 말씀하신 게 이 부분인 것 같다. 

반응형

'coding > C' 카테고리의 다른 글

[c언어] 백준 알고리즘 15953번: 상금 헌터  (0) 2020.07.12

+ Recent posts