函數(shù)的存儲類型指的是其他文件模塊可否訪問,其類別可以是extern或static。
創(chuàng)新互聯(lián)專注于修武網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供修武營銷型網(wǎng)站建設(shè),修武網(wǎng)站制作、修武網(wǎng)頁設(shè)計、修武網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造修武網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供修武網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
static是指該函數(shù)只能被本源程序文件道中的模塊訪問。extern是指可被本源程序文件外的模塊訪問。
C語言中函數(shù)的存儲類型隱含為版全局的,因此默認(rèn)為extern。
函數(shù)內(nèi)定義的變量,默權(quán)認(rèn)作用域在本函數(shù)內(nèi),即其類型是auto。
擴(kuò)展資料:
C語言中提供了存儲說明符auto、register、extern、static說明的四種存儲類別。四種存儲類別說明符有兩種存儲期:自動存儲期和靜態(tài)存儲期。
其中auto和register對應(yīng)自動存儲期。具有自動存儲期的變量在進(jìn)入聲明該變量的程序塊時被建立,它在該程序塊活動時存在,退出該程序塊時撤銷。在函數(shù)內(nèi)部定義的變量成為局部變量。在某些C語言教材中,局部變量稱為自動變量,這就與使用可選關(guān)鍵字auto定義局部變量這一作法保持一致。
extern用在變量聲明中常常有這樣一個作用:要在*.c文件中引用另一個文件中的一個全局的變量,那就應(yīng)該放在*.h中用extern來聲明這個全局變量。
extern用于變量的用法:
1、extern int a;//聲明一個全局變量a
2、int a; //定義一個全局變量a
3、extern int a =0 ;//定義一個全局變量a 并給初值。一旦給予賦值,一定是定義,定義才會分配存儲空間。(注意:經(jīng)過測試在GCC中,這樣定義變量是不能通過編譯的,而在VS2013可以)
參考資料來源:百度百科——extern
參考資料來源:百度百科——auto
C。
C語言規(guī)定,只要在定義函數(shù)時不進(jìn)行存儲類型的顯式說明,函數(shù)的存儲類型就隱含為外部類型,即extern型,外部類型允許其他文件中的函數(shù)調(diào)用。
實際上函數(shù)的聲明和定義都不需要添加extern關(guān)鍵字,在實際使用的時候也最好不要添加關(guān)鍵字。
如果一個函數(shù)是不會被其它文件調(diào)用的,那么這個函數(shù)應(yīng)該被聲明成static的。
如:
extern int func(void){
return 0;
}
跟
int func(void){
return 0;
}
是等價的,另外
extern int func(void);
跟
int func(void);是等價的。
擴(kuò)展資料:
函數(shù)調(diào)用的一般形式為:
函數(shù)名(實參表列);
如果是調(diào)用無參函數(shù),則"實參表列"可以沒有,但括弧不能省略。如果實參表列包含多個實參,則個參數(shù)間用逗號隔開。實參與形參的個數(shù)應(yīng)相等,類型應(yīng)一致。
實參與形參按順序?qū)?yīng),一一傳遞數(shù)據(jù)。但應(yīng)說明,如果實參表列包括多個實參,對實參求值的順序并不是確定的,有的系統(tǒng)按自左至右順序求實參的值,有的系統(tǒng)則按自右至左順序
參考資料:
百度百科-c函數(shù)
函數(shù)的隱含存儲類型是extern,按照c語言的原則,函數(shù)隱含為全局都可以訪問,因此默認(rèn)為extern,而auto只用于變量,是變量的隱含存儲類型。
函數(shù)的存儲類型指的是其他文件模塊可否訪問,其類別可以是extern或static。
static是指該函數(shù)只能被本源程序文件道中的模塊訪問。extern是指可被本源程序文件外的模塊訪問。
C語言中函數(shù)的存儲類型隱含為版全局的,因此默認(rèn)為extern。
函數(shù)內(nèi)定義的變量,默權(quán)認(rèn)作用域在本函數(shù)內(nèi),即其類型是auto。
擴(kuò)展資料:
在C語言中,提供了四種存儲類型的存儲說明符:auto、Register、Extern和static。這四個存儲類別說明符有兩個存儲術(shù)語:自動存儲術(shù)語和靜態(tài)存儲術(shù)語。
“自動”和“寄存器”對應(yīng)的是自動存儲周期。具有自動存儲周期的變量在進(jìn)入聲明變量的塊時被創(chuàng)建,在塊活動時存在,在塊退出時被撤銷。在函數(shù)中定義的變量成為局部變量。在一些C教科書中,局部變量被稱為automatic,這與使用可選關(guān)鍵字auto定義局部變量的做法一致。
Extern通常用于變量聲明:在*中的另一個文件中引用全局變量。在*.h中應(yīng)該使用extern來聲明全局變量。