:C에서 '짧은'데이터 유형은 무엇입니까? 다음 함수에서
void AddWordData(FILE* dataFile, short word, int* dc)
{
fprintf(dataFile, "%06o\n", word);
++(*dc);
}
함수는 짧은 형을 받고있다. 웹에서 검색했지만 짧은 int를 발견했습니다. 함수가 짧은 형식을 얻는 것은 무엇을 의미합니까? 어떤 데이터 유형입니까?
:C에서 '짧은'데이터 유형은 무엇입니까? 다음 함수에서
void AddWordData(FILE* dataFile, short word, int* dc)
{
fprintf(dataFile, "%06o\n", word);
++(*dc);
}
함수는 짧은 형을 받고있다. 웹에서 검색했지만 짧은 int를 발견했습니다. 함수가 짧은 형식을 얻는 것은 무엇을 의미합니까? 어떤 데이터 유형입니까?
short
은 short int
의 약어입니다. 그들은 동의어입니다. short
, short int
, signed short
및 signed short int
은 모두 동일한 데이터 유형입니다. short
에 정확히 얼마나 많은 비트입니다 컴파일러와 시스템에 따라 달라집니다,하지만 가질 필요가 at least 16 bits :
또한 모든 값의 범위에 대하여 다음과 같은 한계를 존중해야 표준에 부합하는 모든 컴파일러 특정 유형이 받아 들일 수 있습니다. 이것들은 한도가 낮다는 것을 기억하십시오 : 구현은 이들 중 일부 또는 전부를 자유롭게 허용합니다. char의 최소 범위는 char이 부호가 있거나 unsigned 인 것으로 간주되는지 여부에 따라 달라집니다. ... 짧은 int : -32767 to +32767. Wikipedia에서
더보기 :
정수 형식의 실제 크기는 구현에 의해 변화한다. 유일한 보증은, long long가 long보다 작지 않다는 것입니다. 이것은 int보다 작지 만, short보다 작지는 않습니다. 또한 int는 대상 프로세서가 가장 효율적으로 작업 할 수있는 정수 유형이어야합니다. 예를 들어, 모든 유형이 64 비트 일 수 있습니다. 그러나 여러 다른 정수 너비 스키마 (데이터 모델) 만 사용되며 데이터 모델은 서로 다른 프로그램이 통신하는 방식을 정의하므로 주어진 운영 체제 응용 프로그램 인터페이스 내에서 통일 된 데이터 모델이 사용됩니다.
사실 char는 보통 8 비트 크기이며, short는 보통 16 비트 크기이고 long은 보통 32 비트 크기입니다 (마찬가지로 unsigned char, unsigned short 및 unsigned long). 예를 들어 1990 년대 Sun0S 4 Unix, Microsoft MSDOS, 최신 Linux 및 임베디드 8 비트 PIC 마이크로 컨트롤러 용 Microchip MCC18과 같이 다양한 플랫폼에서 이러한 결과가 나타납니다.
짧은 정수와 같습니다. –
"% 06o \ n" – Yuval
% 06o \ n' '0'을 6 개 추가하고 'wordal'을 'octal'에 줄 바꿈 (' \ n ") 끝에서. –