變量在程序運行時值可以改變,其功能是存儲數據,變量的類型決定了變量在內存中的大小。在C語言中,變量名作為標識符的一種,命名原則都和標識符是一樣的;即變量由字母、數字和下劃線組成且不能以數字開頭大小寫敏感。
變量的類型也就是數據的類型(在數據類型章節(jié)已描述)比如,char、int、long、float、double等基本類型;當然也可以是枚舉、結構體、共用體、空類型、以及指針類型等,后續(xù)的章節(jié)會詳細說明到這幾種類型。
那么在C語言中如何定義一個變量呢?可以參考下面的格式定義變量,type表示被定義的變量類型,variables_list是被定義變量列表,列表中的各個變量用“,”分開,在C語言中,語句都是以“;”作為語句結束。
type variables_list;
例如:
//定義兩個整型變量a和b
int a,b;
//定義兩個單精度浮點型變量f1和f2
float f1, f2;
//定義兩個雙精度浮點型變量num1和num2
double num1, num2;
當然在定義變量語句時,同時也可以對所定義的變量賦初始值。
//定義兩個整型變量a和b, 初始值分別為1和2
int a=1, b=2;
//定義兩個單精度浮點型變量f1和f2, 初始值分別為1.1和2.2
float f1=1.1, f2=2.2;
//定義了兩個雙精度浮點型變量num1和num2,初始值分別為=1.111和2.222
double num1=1.111, num2=2.222;
在工程中需要格外注意的一點,對新定義的變量在使用前一定要進行初始化,給新定義一個合理的初始值,這個尤為關鍵。否則,可能會造成相當嚴重的系統(tǒng)bug。
在C語言中,有以下幾種類型的變量:
- 局部變量(local variable):在函數或語句塊中聲明的變量,,局部變量必須在語句塊的開頭聲明。
- 全局變量(global variable):在函數或語句塊之外聲明的變量,它對文件中的任何函數有效,但也需要在開頭對其聲明。
- 靜態(tài)變量(static variable):使用static關鍵字聲明的變量,多次函數調用時會保留其值。
- 自動變量(automatic variable):默認情況在語句塊聲明的所有變量都是自動變量,我們可以使用auto關鍵字聲明自動變量。
- 外部變量(external variable):在多個源文件中可以使用外部變量共享一個變量,在需要使用這個“共享變量”的源文件里我們可以使用extern來聲明外部變量。外部變量通常也是全局變量。
//file1.c
int e = 10;
//file2.c
int a = 1; //全局變量
extern int e; //外部變量
int function()
{
int b = 2; //局部變量
static int c = 3; //靜態(tài)變量
auto d = 0; //自動變量
}