C語言的數據類型有基本類型,構造類型,指針類型,空類型
空類型就是void,指針類型這裡不說,構造類型也不說(數組,結構體,聯合體,枚舉,嵌套),這裡只說基本類型。
基本類型有:短整型(short)、整型(int)、長整型(long)、字符型(char)、單精度浮點型(float)、雙精度浮點型(double)。六種
另外還有 無符號整型(unsigned int,簡寫unsigne)、長長整型(long long int,簡寫long long、C99增加的unsigned long long int型
關鍵字signed可以和任何一個有符號類型一起使用,它是數據類型更加精確。 short、short int、signed short 以及 signed short int代表了同一類型。
關於六種基本數據類型占內存大小,不同平台會有有所不同,用一下的代碼上機檢測一下吧:
printf("int-----%d\n",sizeof(int));
printf("long----%d\n",sizeof(long));
printf("short---%d\n",sizeof(short));
printf("float---%d\n",sizeof(float));
printf("double--%d\n",sizeof(double));
printf("char----%d\n",sizeof(char));
使用printf()時,切記每個要顯示的值都必須對應自己的格式說明符,並且顯示值的類型同說明符相匹配
變量聲明的時候,初始化該變量是一個好習慣。雖然不這樣做也沒什麼大毛病,但總有機會出現一些意想不到的結果。
轉義序列:
\a 警報;\b 退格;\f 走紙;\n 換行;\r 回車;\t 水平制表符;\v 垂直制表符;\\ 反斜槓(\); \0a 八進制值(a是八進制數);\xa 十六進制值(a是十六進制數)
為了適應不同機器
long long類型為64位,long類型為32位,short類型16位,int類型為16位或32位(依機器的自然字大小而定)。原則上這4中類型代表4個不同大小的數值。
對應16位單位:short類型和int類型的最小取值范圍是 -32767到32757
對應32位單位,long類型最小取值范圍是 -2147483647到2147483647;unsigned short和unsigned int 最小取值范圍是 0到65535;unsigned long 是 0到4294967295
long long類型是對應64位的需求,范圍是 -9 223 372 036 854 775 807到9 223 372 036 854 775 807
unsigned long long 是0到18 446 744 073 709 551 615
(關於這些數據是怎麼得來的,學學微機原理吧。。學完關於二進制編碼後就知道怎麼回事了)