구조체가 어떠한 형태로 선언되었는지에 따라 달라집니다. C#에서는 구조체를 포함한 모든 객체가 선언 방식에 따라 힙 또는 스택에 할당됩니다. 구조체가 지역 변수나 메서드 매개변수로 선언되면 스택에 할당됩니다. 구조체가 클래스의 필드 또는 배열의 요소로 선언되면 힙에 할당됩니다. 구조체가 힙에 할당되면 다른 객체와 마찬가지로 가비지 컬렉션의 대상이 됩니다. 가비지 콜렉터는 객체가 더 이상 사용되지 않는다고 판단되면 힙에 할당된 구조체를 포함하여 해당 객체가 사용하던 메모리를 회수합니다. 그러나 구조체가 스택에 할당된 경우 가비지 컬렉션의 대상이 되지 않습니다. 구조체를 선언한 메서드가 종료되면 구조체가 사용한 메모리는 자동으로 할당 해제됩니다. 따라서 스택 할당 구조체는 힙 할당 구조체보다 효율적이지만, ..