70.9 심사문제
, Lee Seok님이 작성버퍼의 크기를 sizeof(buffer)로 하니 답이 틀리다고 하여, 그냥 100으로 fread에 넣으면 답이 맞는데. 어떤 이유일까요?
fread(buffer, sizeof(buffer), 1, fp);
Re: 70.9 심사문제
, 도장_ 관리자님이 작성문제의 요구사항이 100자 미만의 문자열을 읽는 것입니다. 따라서 널 문자를 포함해서 100자까지 읽으면 됩니다.
sizeof(buffer)는 포인터 변수의 크기를 읽어들입니다.
UNIT 34.1을 보면 sizeof(포인터)는 포인터의 크기를 구합니다.
할당되는 크기는 직접 관리해야 합니다. 자바 같은 고급 언어는 크기를 자동으로 관리하는 것처럼 보일뿐 내부 구현은 결국 C 언어처럼 직접 크기를 관리하는 것입니다.