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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180875 [컴퓨터] Aula 독거미 F87 PRO 요즘 얼마정도에 사면 제값? 3 돼지같은인간 0 34 분 전 34
180874 [모바일] 애플 유저들아 상담좀 2 로또기원20년차 0 59 분 전 44
180873 [잡담] 아이패드로 외부에서 fc24 돌릴 방법이 잇을까? hideonbush 0 1 시간 전 44
180872 [정보] 혹시 HDMI 동글인데 태블릿에 쓰는 안드로이드가 깔린게 있나요? 1 잉여스러운 0 1 시간 전 39
180871 [프로그래밍] 안드로이드 씹뉴비 질문이요 집에가게해줘 0 1 시간 전 37
180870 [모바일] 아니 야발 00원짜리 0 1 시간 전 33
180869 [컴퓨터] 1070 고장나서 수리 맡길까하는데 고민임 4 년째모쏠 0 2 시간 전 44
180868 [컴퓨터] 노트북 추천좀 1 주공204동 0 2 시간 전 27
180867 [잡담] 두번째 독거미 구매 완료 1 닼린이 0 3 시간 전 113
180866 [컴퓨터] 글카 4060 살까여 60ti살까영 2 김태연님 0 3 시간 전 85
180865 [컴퓨터] 노트북 소음 사용시간 발열 질문 1 sdahjkfhwk 0 4 시간 전 41
180864 [잡담] 수냉쿨러 어떻게 버려야하지? 회장님 0 4 시간 전 51
180863 [컴퓨터] 모니터를 뒤집어서 쓰고싶다 3 손또끼 0 4 시간 전 60
180862 [모바일] 병원 삼성페이 신분증도 되나요 5 초전도치 0 4 시간 전 108
180861 [잡담] 갤럭시 리마인더 대박이네 2 츄이로 0 5 시간 전 101
180860 [모바일] 3년만에 핸드폰 바꾸려고 하는데 어떤 방법이 제일 저렴할까요?? 1 행복한사회 0 5 시간 전 36
180859 [컴퓨터] nzxt의 h9 flow 케이스 후기 + 질문 4 너가전부옳아 0 5 시간 전 46
180858 [컴퓨터] 지슈라 베터리 잔량은 무조건 지허브 켜서 봐야됨? 5 엄지척 0 7 시간 전 90
180857 [잡담] 유튜브 시청용으로 뮤패드 k10 어떻다고봄? 5 깊은산맑은물 0 9 시간 전 75
180856 [모바일] 블루투스 헤드셋 추천 부탁드립니다. 2 밀실심사 0 15 시간 전 88