1、c語言中的存儲類型有static 、auto、extern、及register,函數(shù)默認(rèn)的存儲類型應(yīng)該是extern,意思是具有外部鏈接性的。一般來說,會通過extern來聲明函數(shù)。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)寧城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
2、比如下面的代碼,在1.c中定義一個函數(shù),函數(shù)的聲明寫在1.h頭文件中,在2.c中通過添加1.h的頭文件,來聲明及調(diào)用函數(shù)f()。
//1.c
void f() { ; }
//1.h
extern void f();
//2.c
#include "1.h"
int main() { f();}
函數(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來聲明全局變量。
函數(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說明的四種存儲類別。四種存儲類別說明符有兩種存儲期:自動存儲期和靜態(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
分享標(biāo)題:c語言函數(shù)的存儲分類 c語言中5種基本數(shù)據(jù)類型的存儲
文章位置:http://jinyejixie.com/article28/ddccdjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、外貿(mào)建站、搜索引擎優(yōu)化、網(wǎng)站改版、微信小程序、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)