해결된 질문
작성
·
143
0
안녕하십니까? 강사님!
fread함수의 반환자료형이 size_t로 되어 있는데
fread함수의 반환값을 받는 변수의 자료형을
size_t 변수명;
이런식으로 변수를 정의해도 문제가 없는지 궁금합니다.
그리고 int 나 long 등의 변수명을
(size_t)변수명;
으로 강제형변환 해도 문제가 없는지 궁금합니다.
수고하십시오
답변 1
0
네, 큰 문제는 없겠습니다. 단, 파일의 크기가 최대 2GB 미만이어야 합니다. unsigned int형의 최대 크기는 4GB 입니다. 그런데 부호가 있는 int형은 최대 크기가 절반으로 잘립니다. size_t는 기본적으로 부호가 없는 정수형입니다. 또한 64비트가 될 수도 있습니다. 이러한 점을 함께 생각하시기 바랍니다. 그리고 long형은 컴파일러 및 환경에 따라 달라질 수 있는데 윈도우 환경의 경우 int형과 같습니다. 참고하시기 바랍니다. 😄