//todo:----------整型-----------
//短整型(16位) -32767 ~ 32767
short si = 32767;
//無符號短整型(16位) 0 ~ 65535
unsigned short us = 65535;
printf("short=%hd u short=%u\n",si,us);
//基本整型(32~64位) -2147483622 ~ 2147483622
int i = 2147483622;
//無符號基本整型(32~64位)
unsigned ui = 4294967295;
printf("int=%d u int=%u\n",i,ui);
//長整型(64位系統) -9223372036854775807 ~ 9223372036854775807
//長整型(32位系統) -2147483622 ~ 2147483622
long li64 = 9223372036854775807;
long li32 = 2147483622;
//無符號長整型(64位系統) 0 ~ 18446744073709551615
//無符號長整型(32位系統) 0 ~ 4294967295
unsigned long ul64 = 18446744073709551615;
unsigned long ul32 = 4294967295;
printf("long=%ld u long=%lu\n",li32,ul32);
//長長整型 -9223372036854775807 ~ 9223372036854775807
long long ll = -9223372036854775807;
//無符號長長整型 0 ~ 18446744073709551615
unsigned long long ulli = 18446744073709551615;
printf("long long=%lld u long long=%llu\n",ll,ulli);
//整形高階屬性
//宣告乙個16位整型
int16_t aa = 4400;
printf("aa = %"prid16"",aa); //prid16 串巨集來自動適配說明符
//可能比long long還大的整型
intmax_t maxi = 2222222222222222222;
uintmax_t umaxi = 111111111111111111;
//todo:-----------char字元型-----------
//用整數代替字元,標點 ascii(0~127),國際(0~255)
char c = 'a'; // char c = 65 ascii碼值
char cc = 'abcd'; //單引號只適用於是字元,標點,數字,輸出結果 d
char *ccc = "abcdaa"; //字串分配8個位元組記憶體,
printf("ccc=%s\n",ccc);
printf("sizeof_char*ccc=%zd\r\n",sizeof(ccc));
//轉義符 換行\n、空白\t、回車\r、退格\b
//列印 gramps sez, "a \ is a backslash. "
printf("gramps sez,\a \"a \\ is a backslash.\t\"");
//todo:-----------bool型-----------
bool b = true; // 1
b = false; //0
//todo:-----------浮點型-----------(附精確位數及取值範圍表表)
//c語言規定 float型別只能保證前6位是精確的, 取值劃範圍 e-37 ~ e+37
// double float 至少精確10以上(看具體系統)
float f = 411.205098;
float ff = 4110.205098;
float fff = 41100.205098;
float ffff = 4.2f;
cgfloat aad = 41100.205098; //oc 的 cgfloat 是定義為double型別
double df = 22222222223.4444444;
long double ldf = 23982348382.12039;
printf("%f %f %f %f\n",f,fff,ffff,aad);
//todo:---------各種資料型別的位元組長度---------%zd %u
printf("sizeof_int=%zd\r\n",sizeof(int));
printf("sizeof_uint=%zd\n",sizeof(unsigned int));
printf("sizeof_long=%zd\n",sizeof(long));
printf("sizeof_longlong=%zd\n",sizeof(long long));
printf("sizeof_char=%zd\n",sizeof(char));
printf("sizeof_uchar=%zd\n",sizeof(unsigned char));
printf("sizeof_float=%zd\n",sizeof(float));
printf("sizeof_double=%zd\n",sizeof(double));
printf("sizeof_longdouble=%zd\n",sizeof(long double));
/**輸出
sizeof_int=4
sizeof_uint=4
sizeof_long=8
sizeof_longlong=8
sizeof_char=1
sizeof_uchar=1
sizeof_float=4
sizeof_double=8
sizeof_longdouble=16
*/
(以下**網路)
c語言(一)資料型別
一 分類 1.a 標量型別 a1 算術型別 a1基本型別 1 整型 標準整數型別 擴充的整數型別 2 實型 浮點型 實數浮點型別 複數浮點型別 3 字元型 a2列舉型別 a2 指標型別 b 聚合型別 b1 陣列型別 b2 結構型別 c 聯合型別 d 函式型別 2.描述物件的資料型別可分為 物件型別 ...
C語言 資料型別
基本型別 整形 int 字元型 char 實型 浮點型 單精度 float 雙精度 double 構造型別 陣列型別,結構型別 struct 聯合型別 uion 列舉型別 enum 指標型別 空型別 無值型別 void。常量 在程式執行過程中,其值不能被改變的量稱為常量。變數 變數代表記憶體中具有特...
c語言資料型別
下面是我關於c語言中各種資料型別長度的總結 參考the c programming language 1.c語言中的整數型別有char,short,int,long等幾種,下面是c語言對每種資料型別長度的規定 a short和long型別的長度不相同 b int型別通常同具體機器的物理字長相同 c ...