#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
int main()
{
//整型變量
int a=10;
//短整型變量
short b=20;
//長整型變量
long c=30;
//長長整型變量
long long d=40;
printf("%d\n",a);
//%hd:占位符,表示輸出一個短整型數據
printf("%hd\n",b);
//%ld:占位符,表示輸出一個長整型數據
printf("%ld\n",c);
//%lld:占位符,表示輸出一個長長整型數據
printf("%lld\n",d);
//sizeof:不是函數,所以不需要包含任何頭文件。計算數字類型在內存中占的字節(BYTE)的大小,返回值為size_t。1B=8bit
//size_t類型在32位操作系統下是unsigned int ,是一個無符號的整數
//格式:sizeof(數據類型);sizeof(變量名);sizeof 變量名
unsigned int len=sizeof (int);
printf ("%u\n",len);
//將sizeof(a)的運算結果作為printf輸出的一個選項
printf("整型:%d\n",sizeof(a));//4=32bit
printf("短整型:%d\n",sizeof(b));//2=16bit
printf("長整型:%d\n",sizeof(c));//4=36bit
printf("長長整型:%d\n",sizeof(d));//8=64bit
/*數據類型 占用空間
short 2字節
int 4字節
long window為4字節,linux為4字節(32位),8字節(64位)
long long 8字節
*/
/*需要注意的是,整型數據在內存中占的字節與所選擇的操作系統有關
雖然C語言標准中沒有明確規定整型數據的長度,但long類型整數的長度
不能短於int類型,short類型整數長度不能長於int類型(short<=int<=long<long long)
當一個小的數據類型賦值給一個大的數據類型,不會報錯,因為編譯器會自動轉化。(eg:比如定義一個int類型,接收一個short類型數據,不會報錯)
但當一個大的類型賦值給一個小的數據類型,那么就可能丟失高位
*/
return EXIT_SUCCESS;
}
