加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

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

04/28 12:00
2143
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(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í)也可以對所定義的變量賦初始值。

//定義兩個(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),對新定義的變量在使用前一定要進(jìn)行初始化,給新定義一個(gè)合理的初始值,這個(gè)尤為關(guān)鍵。否則,可能會(huì)造成相當(dāng)嚴(yán)重的系統(tǒng)bug。

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

  • 局部變量(local variable):在函數(shù)或語句塊中聲明的變量,,局部變量必須在語句塊的開頭聲明。
  • 全局變量(global variable):在函數(shù)或語句塊之外聲明的變量,它對文件中的任何函數(shù)有效,但也需要在開頭對其聲明。
  • 靜態(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ù)手冊 ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
FM25CL64B-G 1 Ramtron International Corporation Memory Circuit, 8KX8, CMOS, PDSO8, GREEN, MS-012AA, SOIC-8
$6.47 查看
KSZ9031RNXCA-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, QCC48

ECAD模型

下載ECAD模型
$105.81 查看
FTLF1318P3BTL 1 Finisar Corporation Transceiver, 1270nm Min, 1360nm Max, 1250Mbps(Tx), 1250Mbps(Rx), LC Connector, Surface Mount, ROHS COMPLIANT PACKAGE

ECAD模型

下載ECAD模型
$278.49 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜