C變數和類型
初次接觸C變數和基本類型的介紹 C是一種靜態類型語言。 這意味著任何變數都有一個關聯的類型,而且此類型在編譯時已知。 這與在Python、JavaScript、PHP和其他解釋語言中操作變量的方式非常不同。 在C中創建變量時,您必須在聲明時指定變量的類型。 在此示例中,我們使用類型int對變量age進行初始化: int age; 變量名可以包含任何大小寫字母,可以包含數字和下劃線字符,但不能以數字開頭。AGE和Age10都是有效的變量名,1age則無效。 您也可以在聲明時初始化變量,並指定初始值: int age = 37; 定義變量後,您可以在程序代碼中使用它,並隨時更改其值,例如使用=運算符,就像在age = 100;中一樣,前提是新值具有相同的類型。 在這種情況下: #include <stdio.h> int main(void) { int age = 0; age = 37.2; printf("%u", age); } 編譯器將在編譯時拋出警告,並將十進制數字轉換為整數值。 C的內置數據類型包括int、char、short、long、float、double和long double。讓我們更深入了解這些類型。 整數數字 C為我們提供以下類型來定義整數值: char int short long 大多數情況下,您可能會使用int來存儲整數。但在某些情況下,您可能希望選擇另外3個選項之一。 char類型通常用於存儲ASCII表中的字母,但也可以用來容納從-128到127的小整數。它至少占1個字節。 int至少占2個字節。 short至少占2個字節。 long至少占4個字節。 正如您所看到的,對於不同環境,我們無法保證相同的值。我們只有一個指示。問題在於每種數據類型中可以存儲的確切數字取決於實現和體系結構。 我們保證short不會比int長,并且保證long不會比int短。 美國國家標準協會(ANSI)的C規範標準確定了每種類型的最小值,幸運的是,由於此規範,我們至少可以知道我們可以期望擁有的最小值。 如果您在Arduino上編程C,不同的開發板將具有不同的限制。 在Arduino Uno板上,int存儲2字節值,範圍從-32,768到32,767。在Arduino MKR 1010上,int存儲4字節值,範圍從-2,147,483,648到2,147,483,647。相差很大。 在所有Arduino板上,short存儲2字節值,範圍從-32,768到32,767。long占用4字節,范围从-2,147,483,648到2,147,483,647。 無符號整數 對於上述所有數據類型,我們可以在前面加上unsigned以將範圍從0開始,而不是負數。在許多情況下,這可能是有意義的。 unsigned char的範圍從0到至少255 unsigned int的範圍從0到至少65,535 unsigned short的範圍從0到至少65,535 unsigned long的範圍從0到至少4,294,967,295 溢出問題 鑒於所有這些限制,可能會出現一個問題:我們如何確保我們的數字不超過限制?如果超過限制我們會得到什麼結果? 如果您具有unsigned int數字為255,並將其增加,您將得到256作為結果。這是可以預料的。 如果您的unsigned char數字為255,並將其增加,您將得到0作為結果。它會從初始可能值重新開始計算。...