nivea50   7년 전


안녕하세요. 9934번 문제 풀다가 궁금한게 생겨서 처음으로 질문 올립니다..

일단 이 코드는 정상적으로 통과하였구요. 문제에서 구간이   [1,2^10]이므로 short형 변수로도 충분히 담을 수 있을 것 같아서
메모리 감소를 기대하고 코드의 int형 변수들을 전부 short형으로 바꾸어 제출하였더니 int형과 똑같은 메모리가 나왔습니다.

int는 4byte고 short는 2byte인데  그러면 당연히 short형 코드가 메모리가 적게 나와야 하는거 아닌가요? 

min050820   7년 전

C컴파일러들은 변수 접근시 속도를 향상시키기 위해 기본적으로 변수들을 CPU비트수에 맞게 패키징 시킵니다. 즉 16비트의 변수라도 더미를 붙여서 32/64비트로 만드는 겁니다.

`#pragma pack(1)`을 제일 위에 한번 붙여보세요. 이 코드는 컴파일러에게 그런 패키징을 하지 말라고 지시 한답니다.

jaydoubluel   7년 전

malloc 내부구현 문제일 수도 있을 것 같은데요?

node 배열을 전역으로도 한 번 잡아보셨나요?

댓글을 작성하려면 로그인해야 합니다.