CS/Computer Architecture
struct와 union
dawonny
2022. 4. 4. 05:03
728x90
반응형
struct은 구조체라고 한다.
구조체는 하나 이상의 서로 다른 종류의 변수들을 묶어서 새로운 자료형을 정의하는 것이다.
구조체를 사용하면 연관된 변수들을 하나로 묶어서 관리함으로써 데이터 관리에 유용하다.
따라서 데이터 양이 많아지면 유리한 편이다.
사용할 때에는 struct 라는 키워드를 사용한다.
구조체의 멤버에 접근하려면 구조체 변수를 통해서 구조체 멤버의 값을 참조 해야한다.
멤버에 접근할 때에는 .(dot) 을 사용하는데 이를 직접 접근이라고 한다.
예를 들어 다음과 같다.
[구조체 변수명].[구조체 멤버]
st1.name
union은 공용체라고 한다.
공용체도 struct와 같이 사용자가 정의한 자료형인데 다른 점이 있다면 공용체는 메모리 공간을 공유한다.
예를 들어서 구조체에서
char a; int b; double c;
와 같이 코드가 작성되어 있다면
a는 1바이트, b는 4바이트, c는 8바이트 식으로 메모리에 쌓일 것이다.
근데 union이라면 일단 제일 큰 double 형인 c의 8바이트가 메모리에 쌓이고
각각의 변수들이 1회용으로 8바이트 메모리에 적재된다.
결론적으로 공용체는 같은 메모리 공간을 여러 변수들이 공유하면서 사용하는 형태이다.
공용체는 메모리를 절약해서 효율적으로 사용하기 위해 쓰인다.
하지만 동시에 메모리를 사용하게 되면 데이터가 변질될 수도 있어서 주의해야한다.
728x90
반응형