프로그래밍/C 기초
[C언어 강좌] #30 자료형의 크기 sizeof
도끼_Dokki
2017. 1. 5. 09:00
안녕하세요. 함수에 대해서 어느정도 설명이 끝났습니다.
근데 아직 자료형에서 설명하지 못하고 넘어간부분들이 있어서 마저 설명해보려 합니다.
우선 자료형이란것은 데이터를 어떻게 사용하고 크기를 어느정도로 정해줄지를 표현해주는 용도로 사용되는것입니다.
저번에 자료형에 대해서 소개하면서 봤던 int의 경우에는 '크기는 4바이트로 하고 그것을 정수로 사용하겠다' 라고 하는겁니다.
그것을 알려주기 위한게 바로 자료형이였죠.
근데 int형이라고 무조건 4바이트일까요? 자료형의 크기는 컴파일러마다 다르게 정해져있습니다.
물론 대부분 int형은 4바이트로 사용하긴 합니다만 일부 환경에서는 4바이트가 아닐수도 있다는것이죠.
그래서 만약 int를 4바이트로 생각하고 그것을 기준으로 코드를 작성했다면 int를 2바이트로 생각하는 컴파일러에서는 버그가 발생할수 있습니다. 그래서 그 컴파일러에서 자료형의 크기를 알수있는 sizeof라는 연산자가 존재합니다.
이런식으로 sizeof에 자료형의 이름을 넣어주면 해당 자료형의 크기를 확인할수 있습니다.
뿐만아니라 변수가 메모리 공간에서 어느정도의 공간을 사용하고있는지 확인할수 있습니다.
sizeof에 변수명을 적어주면 예제처럼 4바이트의 공간을 사용하고있는 num 변수의 크기도 알수 있습니다.
참고로 말하자면 sizeof를 소괄호로 감싸고있기때문에 함수라고 오해하는 경우가 있습니다.
하지만 sizeof는 함수가 아닌 연산자입니다.