unit 7.3 자료형 크기 구하기 질문드립니다
, nal arse님이 작성printf("char: %d, short: %d, int: %d, long: %d, long long: %d",
sizeof(char), sizeof(short), sizeof(int), sizeof(long), sizeof(long long)
);
long, long long의 서식지정자는 %ld, %lld 라 배웠는데 이 코드에선 %d 로 출력하는 이유가 뭔가요? 그리고 원래 지정자인%lld로 출력하니 long long이 8이 나오지 않고 long long 범위값이 나옵니다 이유를 알고 싶습니다
Re: unit 7.3 자료형 크기 구하기 질문드립니다
, 도장_ 관리자님이 작성sizeof(long long)은 sizeof의 결괏값을 출력하는 것이고, long long 타입의 범위 값과는 관계가 없습니다.
sizeof의 반환값은 size_t이고, 보통은 long unsinged int입니다. C99 이전에는 %d를 일반적으로 사용했고, C99에서는 %zu를 사용할 것을 권합니다. C++에서는 %z를 인식하지 못하고, Dev C++은 C99 이전 컴파일러라서 오류가 발생합니다. 일반적으로는 %lu 또는 %d입니다.