• 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

C語言速查手冊(cè):變量(Variables)

2024/04/28
2115
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

變量在程序運(yùn)行時(shí)值可以改變,其功能是存儲(chǔ)數(shù)據(jù),變量的類型決定了變量在內(nèi)存中的大小。在C語言中,變量名作為標(biāo)識(shí)符的一種,命名原則都和標(biāo)識(shí)符是一樣的;即變量由字母、數(shù)字和下劃線組成且不能以數(shù)字開頭大小寫敏感。

變量的類型也就是數(shù)據(jù)的類型(在數(shù)據(jù)類型章節(jié)已描述)比如,char、int、long、float、double等基本類型;當(dāng)然也可以是枚舉、結(jié)構(gòu)體、共用體、空類型、以及指針類型等,后續(xù)的章節(jié)會(huì)詳細(xì)說明到這幾種類型。

那么在C語言中如何定義一個(gè)變量呢?可以參考下面的格式定義變量,type表示被定義的變量類型,variables_list是被定義變量列表,列表中的各個(gè)變量用“,”分開,在C語言中,語句都是以“;”作為語句結(jié)束。

type variables_list;

例如:

//定義兩個(gè)整型變量a和b
int a,b;

//定義兩個(gè)單精度浮點(diǎn)型變量f1和f2
float f1, f2;

//定義兩個(gè)雙精度浮點(diǎn)型變量num1和num2
double num1, num2;

當(dāng)然在定義變量語句時(shí),同時(shí)也可以對(duì)所定義的變量賦初始值。

//定義兩個(gè)整型變量a和b, 初始值分別為1和2
int a=1, b=2;

//定義兩個(gè)單精度浮點(diǎn)型變量f1和f2, 初始值分別為1.1和2.2
float f1=1.1, f2=2.2;

//定義了兩個(gè)雙精度浮點(diǎn)型變量num1和num2,初始值分別為=1.111和2.222
double num1=1.111, num2=2.222;

在工程中需要格外注意的一點(diǎn),對(duì)新定義的變量在使用前一定要進(jìn)行初始化,給新定義一個(gè)合理的初始值,這個(gè)尤為關(guān)鍵。否則,可能會(huì)造成相當(dāng)嚴(yán)重的系統(tǒng)bug。

在C語言中,有以下幾種類型的變量:

  • 局部變量(local variable):在函數(shù)或語句塊中聲明的變量,,局部變量必須在語句塊的開頭聲明。
  • 全局變量(global variable):在函數(shù)或語句塊之外聲明的變量,它對(duì)文件中的任何函數(shù)有效,但也需要在開頭對(duì)其聲明。
  • 靜態(tài)變量(static variable):使用static關(guān)鍵字聲明的變量,多次函數(shù)調(diào)用時(shí)會(huì)保留其值。
  • 自動(dòng)變量(automatic variable):默認(rèn)情況在語句塊聲明的所有變量都是自動(dòng)變量,我們可以使用auto關(guān)鍵字聲明自動(dòng)變量。
  • 外部變量(external variable):在多個(gè)源文件中可以使用外部變量共享一個(gè)變量,在需要使用這個(gè)“共享變量”的源文件里我們可以使用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; //自動(dòng)變量
}

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LAN9303I-ABZJ 1 SMSC Ethernet Transceiver, 8 X 8 MM, ROHS COMPLIANT, QFN-56
$8.26 查看
511BBA200M000BAG 1 Silicon Laboratories Inc LVDS Output Clock Oscillator,

ECAD模型

下載ECAD模型
$5.05 查看
LTC6994HDCB-1#TRMPBF 1 Linear Technology LTC6994 - TimerBlox: Delay Block/ Debouncer; Package: DFN; Pins: 6; Temperature Range: -40°C to 125°C
$2.63 查看

相關(guān)推薦