數據類型在C語言中是一個很廣泛的體系,它用于聲明不同類型的變量或函數。變量的類型決定了它在存儲中占用多少空間以及如何存儲。下面列出了我們在Arduino編程過程中會使用到的所有數據類型。
void
例子:
Void Loop ( ) { // rest of the code }
void只在函數聲明中使用。它表明,函數不會向調用它的函數返回任何信息。
Boolean
例子:
boolean val = false ; // 用布爾類型聲明變量,并用false初始化它. boolean state = true ; // 用布爾類型聲明變量,并用true初始化它.
布爾類型的變量包含了兩個值中,true 或 false。每個布爾變量占用一個字節的內存。
Char
例子:
Char chr_a = 'a' ;//用char類型聲明變量,并用字符a初始化它. Char chr_c = 97 ;//用char類型聲明變量,并用字符97初始化它.
char類似于字符串,這種變量的大小通常為1個字節。書寫時,單字符用單引號,比如:’A’;多個字符,使用雙引號:”ABC”。當字符以數字形式存儲時,需要遵循ASCII碼表中的特定編碼,這意味著可以使用字符對應的 ASCII 碼進行算術運算。比如:’A’ + 1的值是66,因為大寫字母A的ASCII 碼是65。 范圍是-128 ~127 。
unsigned char
例子:
Unsigned Char chr_y = 121 ; // 用無符號字符類型聲明變量
無符號字節型是一種無符號數據類型,占用一個字節的內存。無符號字節類型的取值范圍是 0 到 255。
byte
byte 存儲一個8位無符號數字,范圍從0到255。如:
byte m = 25 ;//用字節類型聲明變量,并用25初始化它.
int
整形是數字存儲的主要數據類型。int 存儲一個16位(2字節)的值范圍是: -32,768到 32,767 (最小值為-2^15,最大值為(2^15)- 1)。在Arduino中 int 的大小會因開發板的不同而不同。例如,在Arduino Due上,int 存儲一個32位(4字節)的值,范圍是 -2,147,483,648 到 2,147,483,647 (最小值為-2^31,最大值為(2^31)- 1)。如:
int counter = 32 ;// 用int類型聲明變量,并用32初始化它.
Unsigned int
無符號整型數在存儲方式上與 int 相同,它不存儲負值只存儲正值,范圍是:0 到65,535 (2^16)- 1。對于Arduino Due 它的存儲范圍從 0 到4,294,967,295 (2^32 – 1)。
Unsigned int counter = 60 ;
Word
在Uno和其他基于ATMEGA的開發板上,一個 word 存儲一個16位無符號數字。而在 Due 和 Zero 開發板上,word 存儲一個32位無符號數字。
word w = 1000 ;//使用類型 word 聲明變量,并用1000初始化它.
Long
long 長整型常量末尾要用L標識出來,它字節數是4,存儲位數32位,范圍:從 -2,147,483,648 到 2,147,483,647。
Long velocity = 102346 ;//Long型變量的聲明,并用102346初始化它.
unsigned long
無符號long變量是用于數字存儲和存儲32位(4字節)的擴展大小變量。與long不同,無符號long變量不存儲負數,其范圍從 0 到 4,294,967,295(2^32 – 1)。
Unsigned Long velocity = 101006 ;
short
short是16位數據類型。在所有arduino(基于ATMega和ARM)的開發板上,一個short存儲一個16位(2字節)的值。這將產生-32,768到32,767的范圍(最小值為-2^15,最大值為(2^15)- 1)。
short val = 13 ;
float
浮點數的數據類型是具有小數點的數字。浮點數通常用于近似模擬值和連續值,因為它們比整數具有更高的分辨率。浮點數可以大到3.4028235E+38,也可以小到-3.4028235E+38。它們被存儲為32位(4字節)的信息。
float num = 1.352;
double
在Uno和其他基于ATMEGA的開發板上,double 占用4個字節。也就是說,double 與 float 完全相同,在精度上沒有任何提高。在Arduino Due上,double有8 字節(64bit)的精度。
double num = 45.352 ;
關于數據類型的介紹到此結束,下期會介紹Arduino的變量和常量。