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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180911 [컴퓨터] 40인치모니터에 모니터암을 처음 달아보려고 하는데. 4 파라다이스 0 31 분 전 29
180910 [컴퓨터] 아파트가 고층이면 유선인터넷에 영향이 있나? 1 마리의붕어싸만코 0 35 분 전 27
180909 [컴퓨터] gpu 드라이버 재시작 오류.. 하림보 0 58 분 전 31
180908 [컴퓨터] 지프로 더블클릭 개빡쵸... 4 레벨더높아너보다 0 1 시간 전 45
180907 [잡담] 중고본체 15 정도면 팔림? 사양은 내용에 5 zpqls 0 2 시간 전 79
180906 [컴퓨터] 컴터살까..? 3 숨겨왔던너의 0 2 시간 전 54
180905 [견적] Rx6800이거 가격 어떰? 5 광어우럭따 0 3 시간 전 92
180904 [컴퓨터] LG27GP850 모니터암 추천좀요 1 초아 0 4 시간 전 78
180903 [컴퓨터] 라데온 rx6800 어떰??? 11 나니니오우 0 5 시간 전 149
180902 [모바일] 안녕하세요 개붕이님들 핸드폰 기변병이 왔습니다.. 원조할머니딸기민... 0 5 시간 전 56
180901 [잡담] 안냐세요! 창문형 에어컨 물어보려 왔어요 22 달달한커피 0 6 시간 전 156
180900 [정보] 크롬 탭검색 없애기(2023 ui 되돌리기) oipddgr 0 6 시간 전 119
180899 [컴퓨터] 견적 이정도면 가능함? 14 샤아아즈나블 0 7 시간 전 85
180898 [잡담] 형들 3600 > 5700x3d 체감 많이 될까 21 정상에서만납시다 0 7 시간 전 152
180897 [잡담] 황발놈이 1년주기로 gpu낸다던데 3 Gargantua 0 8 시간 전 131
180896 [잡담] 갤탭s9 fe+ 가격 괜찮음? 5 좃같은건못참음 0 8 시간 전 107
180895 [견적] 와이프 결재 올리기 전 스펙 봐주세오 6 흐린눈 0 8 시간 전 115
180894 [프로그래밍] Aws 람다에 파이썬 올려서 결과 받아오는데 11 아르피쥐 0 10 시간 전 175
180893 [잡담] 맥 업그레이드 하면 어도비 오류좀 줄어들까?? fhana 0 12 시간 전 51
180892 [컴퓨터] 아오 14900k 진짜 문제 있는거임? 17 너가전부옳아 0 16 시간 전 289