저는 현재 "C Primer Plus, 5th edition"이라는 책을 통해 C 프로그래밍 언어를 배우는 학생입니다. 나는 임베디드 시스템 및 장치, 장치 드라이버, 저수준 물건 등에 대한 프로그래밍 경력을 쌓기 위해 배우고 있습니다. 제 질문은 매우 간단하지만 아직 교과서에서 직접 답변을 얻지 못했습니다. & 다양한 게시물 그래서 내 질문과 비슷합니다.C 프로그래밍 정수 크기 제한
SHORT, INT 또는 LONG과 같은 정수 데이터 유형의 크기를 어떻게 결정합니까? 이 질문은 많은 질문을 던진 간단한 질문이지만, 모든 사람들이 "아키텍처/컴파일러에 의존"이라는 질문에 대답하는 것처럼 보입니다.이 질문은 저를 모르는 채로 남겨두고 초보자 인 나 같은 사람을 돕지 않습니다.
인터넷에 어딘가에 명확하게 이러한 비 호환성을 설명하거나 컴파일러 (16 비트, 24 비트, 32 비트, 64 비트 등)를 보는 숫자 방식이 있으며 데이터 유형이 무엇인지 알 수 있습니까? 또는 특정 시스템에서 컴파일러와 함께 sizeof 연산자를 수동으로 사용하면 이러한 데이터 유형을 유지하는 유일한 방법을 알 수 있습니다.
알아 내기 위해 'sizeof' 연산자를 사용하십시오. 예 : 'printf ("이 컴파일러와 플랫폼의 int 크기는 % ld 바이트입니다. \ n", sizeof (int));'특정 비트 폭의 정수를 원한다면 [''] (http : /en.cppreference.com/w/c/types/integer). –
x86_64에서는 리눅스에서 64 비트, 윈도우에서는 32 비트라는 항상 이상한 점이 있습니다. –
고정 너비 정수가 필요한 경우'stdint.h'는'uint32_t'와 같은 typedef를 정의합니다 (적어도 컴파일러가 32 비트 부호없는 정수 유형을 제공하는 경우). –