上一章理解了什麼是變量和常量,那麼這一章将會講述的是:基本數據類型的關鍵字
數據類型的關鍵字
不同的數據類型之間是存在差别的,比如有些表示數字,有些表示字母,就像變量和常量一樣。正因存在這些差異性,才能滿足我們在編程時的需求。下面,就用一張表格來梳理一下常見的幾種數據類型的關鍵字。
常見數據類型關鍵字表格
關鍵字詳解- int ,它是用來聲明基本的整數類型。int 類型的值是整數(正整數、負整數、0)。如果要表示不同正負的整數值,用 int 聲明就可以了。int 類型最小的取值範圍是-32768~32767(因操作系統而異)。
//一般整數類型
int i;
int num = 0;
int count;
//其他整數類型
short int
long int
long long int
unsigned int
- short、long、unsigned、signed。這幾個關鍵字都是用于對整數類型的修飾,所以歸類一起講。
①short,短整型。C語言規定其至少占據16位,也就是兩個字節(byte)
short
short int
②long,長整型。C語言規定其至少占據32位。
long //至少32位
long int
long long //至少64位
③unsigned,無符号整型。隻能用于0和正整數,整數類型前加上unsigned ,就是表明無符号整型。
unsigned int
unsigned char
unsigned short
④signed,和 unsigned 相反,有符号整型。在默認情況下聲明的整型變量都是有符号的類型,比較好理解
signed int a;
- char,用于聲明字母和字符,例如:%、&、a、*,但是從專業角度來講,char其實存儲的也是整數類型,為什麼這樣說呢。因為計算機是通過數字編碼來存儲字符的,最常用的編碼就是ASCII編碼。舉個例子,字符C的ASCII編碼就是67。有興趣的可以自行去搜索了解,這裡不做贅述。
char c = 'a';
char c = '1';
char c = '$';
- float(單精度)、double(雙精度),用于聲明浮點數(3.14,1.21,6.98)。
float可精确表示至少6位有效數字;
double比float表示的數更多,至少10位或者更多。
folat a = 3.1;
double b;
- _Bool,布爾值,無符号int類型,true 或 false(0 or 1)。不懂的朋友可以用數學裡面的換元思想去理解。
bool a =2; //使用Bool之後,a = true ( 2 -> 轉為bool型,所以 2 就為true)
- enum,枚舉類型,C 中的派生數據類型,這裡可以先不用過多地去研究,先知道有這種數據類型就可以,之後的文章也會單獨講這個。
enum work {Mon, Tue, Wed, Thu, Fri}; //定義枚舉類型work
- struct,定義結構體變量,說白了,就是将數據寫在一個表格裡面,提高數據能力。這裡也不做詳細叙述,先了解。下面隻演示一種寫法。
struct book{
char *name; //書名
int money; //價格
int SV; //銷量
};
- void,常用在程序編寫中對定義函數的參數類型、返回值、函數中指針類型進行聲明。
int mian(void)
{
……
}
void Read_temp()
{
……
}
- 在使用ASCII碼的時候,要特别注意數字和字符的區别。比如說字符4,對應的ASCII是52。在聲明的時候應該是 char i = '4',而不是 char i = 4 。
- 如果你給一個變量賦值超出了這個變量的取值範圍,那麼這種現象叫做溢出。所以在給變量賦值的時候,要特别注意是否會超出其的取值範圍,不然會得到一串亂碼。例如:
#include <stdio.h>
int main(void)
{
int value = 655356666666;
printf("您相當于價值 %d 的牛肉\n", value);
return 0;
}
編譯結果
這就是超出範圍之後所得到的亂碼,亂碼的數值因編譯器而異。
那麼到這裡,這一節的内容就已經結束了,感謝您堅持閱讀到最後。
創作分享不容易,點贊關注轉發,就是對我最大的鼓勵!
(附:有些朋友留言說STM32的視頻教程很散,為此我已經将其整理到一個合集裡面,大家可以直接在我的主頁的合集裡面觀看,每一講都已經按順序排列好,大家自行學習)
,