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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180664 [컴퓨터] SSD를 마이그레이션 떴는데 부팅 선택이 안됨 2 참치는동원 0 2 시간 전 27
180663 [컴퓨터] 이제 논KCPU는 기본쿨러+HB보드로만 조립해야할듯 Vv연옥의사신vV 0 3 시간 전 52
180662 [컴퓨터] 중국 모니터 살까 생각중임 2 너가전부옳아 0 4 시간 전 74
180661 [컴퓨터] 얼마전에 고장나서 다 뒤집어깠다던 개붕이인데 1 밀실심사 0 5 시간 전 83
180660 [잡담] 15일에 ㄷㄱㄷㄱ 첫조립 해야지 함박눈 0 5 시간 전 44
180659 [잡담] 스피커 소리가 안ㄴ남 ㅜㅜ 도움!! 匠人 0 6 시간 전 32
180658 [컴퓨터] 5700x3D가 작업에서 그리 못써먹을정돈가?? 5 포츈아그렇구나 0 7 시간 전 171
180657 [컴퓨터] 애플 매직트랙패드 이거 재밌다 4 해날 0 8 시간 전 132
180656 [컴퓨터] 컴터 업글 질문좀 받아줘 5 lake 0 9 시간 전 57
180655 [컴퓨터] 유튜브 재생 버벅임/렉 문제 개인해결함 6 GLaDOS 0 10 시간 전 118
180654 [잡담] 스위치2 나오면 사려는데 7 00원짜리 0 10 시간 전 125
180653 [잡담] 배틀메이지랑 셀레스티얼 연기루머 뭐임ㅋㅋㅋㅋㅋㅋㅋ 3 Gargantua 1 11 시간 전 60
180652 [컴퓨터] 노트북 선택좀 도와주세요! 2 두부는초장에찍먹 0 11 시간 전 76
180651 [모바일] 이심에서 유심으로 이식하는거 좀 아는 사람 있음까.. 6 ULTEGRA 0 12 시간 전 79
180650 [잡담] 시놀로지 223j랑 베스테이션이랑 뭐가 더 좋음?? 10 고민된다여 0 14 시간 전 87
180649 [컴퓨터] 2.5 SSD -> M.2 체감됨? 13 스피오스피오스피... 0 14 시간 전 245
180648 [모바일] 아이폰16 VS SE4 + 워치 6 누군가는해야하잖아 0 15 시간 전 202
180647 [컴퓨터] 형님들 급함!! 기존 HDD사용중 SDD추가 할려는데 윈도우 2 아응에 0 15 시간 전 88
180646 [컴퓨터] 와이파이에서 직결로 바꾸니 빠르네 즈기 0 15 시간 전 160
180645 [컴퓨터] 모니터가 눈이 아픈데 조정가능함?? 정글은언제나맑음... 0 15 시간 전 38