int a;
unsigned int int_size1 = sizeof a;
unsigned int int_size2 = sizeof (int);
unsigned int int_size3 = sizeof (a);
이런 예시를 보여주었는데
일단 int_size 1 / 2 / 3 이것들은 언사인드 인트로 선언이 된 4바이트짜리잔ㅅ아요
근데 이거랑 사이즈오브랑 뭔상관이길래 저렇게 적어놓은건가요
사이즈오브는 그냥 몇바이트짜린지 알기위한 용도 아닌가요?
- dc official App
ㅗ - dc App
메모리 동적할당 할때 그럼 님은 일일히 구조체 바이트수 계산해서 할당하세요 ㅇㅅㅇ
그게 먼진 모르는데 제 질문이 병신같은건 알겠어요 - dc App
a가몇바이트인지를 바로바로 가죠오기위함인건가요 - dc App
구조체 포인터에 메모리 할당할때 malloc 함수 쓰는데 인자로 할당하려는 구조체 바이트수가 들어감. 이때 sizeof(struct 구조체변수명)으로 한번에 편하게 입력가능. sizeof 없으면 일일히 자료 바이트수 곱하고 더하고 지랄발광해야함
네 나중에 쓴다는거죠 sizeof는 바이트 값을 알려준다! 이류케 기억하면댐? - dc App
코딩에서 웬만하면 매직넘버 안쓰는게 좋음. 그리고 인트가 4바이트라는건 아키텍쳐마다 다름. 8바이트일수도 있음. 정확한 크기를 알려면 결국 sizeof()써야됨
어.. 매직넘버가 뭥0여 - dc App
int 타입이 4바이트인걸 알아도 웬만하면 4로 적으면 안됨. 나중에 코드 다시볼때 왜 4가 들어갔는지 한번 추측하게 되니까 코드읽는데 시간이 더걸리게됨
그럼 size of 변수명을 넣는거임? - dc App
사이즈 넣고 싶으면 숫자넣지말고 sizeof 쓰라는거
그게머야 - dc App
배열이나 구조체의 크기도 알려줌
굳이 배열 아니여도 64비트모드로 컴파일 하면 int는 8바이트의 크기를 갖게됨