C언어 구조체 질문

구조체의 메모리 크기는 programa push? 뭐 이런 지시자 없이 쓰면 맴버 메모리 단위는 1, 2, 4, 8의 단위만 사용하잖아?

여기서 단위의 기준은 맴버 중 메모리 크기가 가장 큰 단위 기준으로 알고 있는데

그럼 만약 구조체 맴버에 구조체 변수가 있고

이 구조체 변수가 8byte를 넘어서는 구조체라면 구조체 기준 단위는 무조건 8byte로 잡힘?

구조체를 아래와 같이 잡아서 sizeof로 메모리 크기 출력하니까

각각 24, 40이 나오더라고... 40이 나올려면 구조체 맴버의 크기 단위가 8byte가 되는 방법밖에 없는데 말야...

struct test4 {
int a;
char b;
double c;
double d;
};

struct test9 {
char a;
int b;
int c;
struct test4 s_a;
};

7개의 댓글

2018.06.20
워드 단위로 잡힘
64비트 컴퓨터면 8byte 배수로 잡힌다. 32비트 컴퓨터면 4byte 배수로 잡힌다.
그리고 변수 순서 다르게하면 용량 달라질 수 있음 패딩비트가 어디생기느냐에 따라 다름
기준 단위가 무조건 8byte는 아님

+) 뇌피셜임
0
2018.06.20
@HIGH SIERRA
아 워드 단위구나 내가 봤던 기억으로는 구조체 맴버 중 가장 큰 단위로 잡힌다는줄 알았는데

지금 이것저것 쳐보니 니말이 맞는듯

visual studio 2017쓰고있는데 윈10 64비트라 워드가 8byte로 잡혀서 그런지 int하나 char하나로 구조체 구성하니 무조건 8byte로 나오네
0
2018.06.20
원론적으로 말하면 컴파일러마다 다르다..라고 할 수 있음.
그 경우에는 이렇게 생각이 든다.
test4 구조체의 경우
int a, char b; 8바이트 3바이트 남겠고
double c;
double d;
해서 24가 되겠지.

그리고 아래 test9은
char a; int b; 해서 8바이트
int c; 8바이트
test4 24바이트 해서

총 40이 나오는게 아닌가 싶음.

각 변수들 주소값 찍어봐라. ㅇㅇ

나도 뇌피셜
0
거 컴파일러가 뭐요??

PC구조랑 컴파일러에 따라 다름.
0
2018.06.20
@7ebf0a9aᅟᅟᅟᅟ
개발도구는 Visual Studio 2017/15.0.0-RTW

운영체제는 윈10 pro 64bit
0
@Tbps
가장 큰단위로 잡는다는건 유니온이랑 헷갈린거 아닌지 의심해 봅니다.
0
2018.06.20
환경따라 다르다고 배움
0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
181206 [모바일] [아이패드 프로 M4]패드로 손글씨 영상 만들어봤어유 8 고오급판때기 0 3 시간 전 89
181205 [잡담] 아침부터 게임패드 고장났다 2기 1 오브 0 4 시간 전 82
181204 [잡담] 오 쿨링팬만 탈착식인 글카 2 Gargantua 0 4 시간 전 92
181203 [모바일] 갤탭 s9 vs 아이패드 에어 6세대 10 홀그레인머스타드 0 4 시간 전 126
181202 [프로그래밍] 하이브리드 웹뷰기반 앱은 rn이 정석이야? 3 잠적자 0 10 시간 전 139
181201 [컴퓨터] 닌텐도 스위치 캡쳐보드 이용해서 노트북으로 하는데 1 바보멍청잇 0 15 시간 전 220
181200 [모바일] 아이폰 대리점 구매하려는 데 잘 아는 사람? 9 kicki 0 15 시간 전 126
181199 [컴퓨터] 새컴퓨터에 새모니터를 샀는데 모니터가 신호없음 6 paperback 0 15 시간 전 115
181198 [프로그래밍] c# webview2 도움요청함.. 7 carpediem 0 15 시간 전 101
181197 [컴퓨터] skt 인터넷 하프기가했는데 100나옴 6 비트코스 0 16 시간 전 160
181196 [모바일] 휴대폰 캐이스 기스제거 가능?? 8 본부포대장 0 16 시간 전 64
181195 [잡담] 와 크러쉬80 주문성공함 7 손만잡고잔다며 0 17 시간 전 130
181194 [모바일] 형들 업무용폰 하나만 추천해줘요 6 중복판별기18호 0 17 시간 전 86
181193 [프로그래밍] 현업 개발자형들 맥씀? 8 이또히로부미 0 17 시간 전 178
181192 [잡담] 둘 중 뭐 살까 2 딱딱한골렘 0 17 시간 전 50
181191 [컴퓨터] 블루투스 버튼이 위에 있는 마우스 없어?? 7 오이라떼 0 17 시간 전 63
181190 [잡담] 컴퓨터 책상 의자 제품 및 오프라인 매장 추천좀 채끝등심 0 18 시간 전 77
181189 [컴퓨터] HWiNFO 에서 온도 혼자 툭 튀는게 있는데 2 laina93 0 18 시간 전 70
181188 [잡담] 맥북프로 m2를 추천하는 이유가 뭐야?? 17 Kalysaar 0 19 시간 전 187
181187 [잡담] 갑자기 재부팅되는거 파워문제냐? 9 아이톨쥬 0 20 시간 전 99