C#

구조체 메모리 할당 시, 변수 타입의 순서에 주의하기! ( 작은 자료형부터 쓰기 )

ChoiSW 2023. 10. 17. 12:17

제일 큰 자료형으로 메모리를 할당한 후, 맨 앞의 변수부터 채워나감
채우던 도중 메모리가 부족하면 제일 큰 자료형의 크기로 추가 할당함

public struct Test
{
    byte a;
    int b;
    double c;
}

위와 같이1, 4, 8바이트 순서로 작성 시,

Debug.Log(Marshal.SizeOf(typeof(Test))); 의 결과

 

public struct Test
{
    byte a; // 1
    double c; // 8
    int b; // 4
}

1, 8, 4 바이트 순서로 작성하면

메모리의 낭비가 커진다

 

!!! 즉, 변수들의 순서가 중요함 !!!
일반적으로 작은 자료형부터 쓰면 좋음