亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言中static的用法示例分析

2020-02-24 14:33:24
字體:
供稿:網(wǎng)友

C語言中,static的字面意思很容易把我們導(dǎo)入歧途,為此武林技術(shù)頻道的小編就給各位帶來C語言中static的用法示例分析,感興趣的你可以參考下,也希望本文所提供知識點可以幫助到你。

static在c里面可以用來修飾變量,也可以用來修飾函數(shù)。
先看用來修飾變量的時候。變量在c里面可分為存在全局數(shù)據(jù)區(qū)、棧和堆里。其實我們平時所說的堆棧是棧而不是堆,不要弄混。

復(fù)制代碼 代碼如下:

int a ;
int main()
{
int b ;
int c* = (int *)malloc(sizeof(int));
}


a是全局變量,b是棧變量,c是堆變量。
static對全局變量的修飾,可以認為是限制了只能是本文件引用此變量。有的程序是由好多.c文件構(gòu)成。彼此可以互相引用變量,但加入static修飾之后,只能被本文件中函數(shù)引用此變量。

static對棧變量的修飾,可以認為棧變量的生命周期延長到程序執(zhí)行結(jié)束時。一般來說,棧變量的生命周期由OS管理,在退棧的過程中,棧變量的生命也就結(jié)束了。但加入static修飾之后,變量已經(jīng)不再存儲在棧中,而是和全局變量一起存儲。同時,離開定義它的函數(shù)后不能使用,但如再次調(diào)用定義它的函數(shù)時,它又可繼續(xù)使用, 而且保存了前次被調(diào)用后留下的值。

static對函數(shù)的修飾與對全局變量的修飾相似,只能被本文件中的函數(shù)調(diào)用,而不能被同一程序其它文件中的函數(shù)調(diào)用。

文件a.c

復(fù)制代碼 代碼如下:

static int i; //只在a文件中用
int j; //在工程里用
static void init() //只在a文件中用
{
}
void callme() //在工程中用
{
static int sum;
}


上面的全局i變量和init()函數(shù)只能用在a.c文件中,全局變量sum的作用域只在callme里。變量j和函數(shù)callme()的全局限擴充到整個工程文件。所以可以在下面的b.c中用extern關(guān)鍵字調(diào)用。extern告訴編譯器這個變量或者函數(shù)在其他文件里已經(jīng)被定義了。

文件b.c

復(fù)制代碼 代碼如下:

extern int j; //調(diào)用a文件里的
extern void callme(); //調(diào)用a文件里的
int main()
{
...
}


extern的另外用法是當C和C++混合編程時如果c++調(diào)用的是c源文件定義的函數(shù)或者變量,那么要加extern來告訴編譯器用c方式命名函數(shù):

文件A.cpp調(diào)用a.c里面的變量i和函數(shù)callme()

復(fù)制代碼 代碼如下:

extern "C" //在c++文件里調(diào)用c文件中的變量
{
int j;
void callme();
}
int main()
{
callme();
}


二 static法則:
A、若全局變量僅在單個C文件中訪問,則可以將這個變量修改為靜態(tài)全局變量,以降低模塊間的耦合度;
B、若全局變量僅由單個函數(shù)訪問,則可以將這個變量改為該函數(shù)的靜態(tài)局部變量,以降低模塊間的耦合度;
C、設(shè)計和使用訪問動態(tài)全局變量、靜態(tài)全局變量、靜態(tài)局部變量的函數(shù)時,需要考慮重入問題;

全局變量有外部、靜態(tài)兩種存儲方式。
(1)全局變量一般用外部存儲方式存儲,用保留字extern加以定義。此時,變量的作用域是構(gòu)成整個程序的所有程序文件,也就是定義的外部變量可供其它程序文件使用。
使用這樣的全局變量一定要非常慎重,一旦產(chǎn)生錯誤,將波及整個程序。

(2)如果希望全局變量僅限于本程序文件使用,而其它程序文件中不能引用,這時必須將其存儲方式定義為靜態(tài)存儲方式,用保留字static加以定義。此時稱為靜態(tài)外部變量。
例如,在上例文件filel.c中,如果作這樣的定義:
static int a:
則變量a的作用域被縮小至本程序文件filel.c,文件file2.c中不能引用。
值得注意的是對全局變量加static,定義為靜態(tài)存儲方式,并不意味著是靜態(tài)存儲;而不加static,是動態(tài)存儲。兩種形式的全局變量(外部變量)都是靜態(tài)存儲方式,都是編譯時分配存儲空間,但作用域不同。使用靜態(tài)外部變量,有利于隔離錯誤,有利于模塊化程序設(shè)計。

(3)全局變量的缺省存儲方式是外部存儲方式。
前面章節(jié)中的程序沒有見到變量的存儲類別定義,實際上采用變量的缺省存儲方式。對局部變量采用auto方式,對全局變量采用extern方式。這也是至今為止,我們在程序中沒有見到auto、extern等的原因。
至此,我們對變量的存儲類別及數(shù)據(jù)類型進行了全面討論,在此作個小結(jié)。

1.變量定義的一般形式
存儲類別數(shù)據(jù)類型變量表;

2.變量定義的作用
①規(guī)定了變量的取值范圍。
②規(guī)定了變量進行的運行操作。
③規(guī)定了變量的作用域。
④規(guī)定了變量的存儲方式。
⑤規(guī)定了變量占用的存儲空間。

3.局部變量和全局變量
從作用域角度將變量分為局部變量和全局變量。它們采取的存儲類別如下:

局部變量:
①自動變量,即動態(tài)局部變量(離開函數(shù),值就消失)。
②靜態(tài)局部變量(離開函數(shù),值仍保留)。
③寄存器變量(離開函數(shù),值就消失)。
④形式參數(shù)可以定義為自動變量或寄存器變量。

全局變量:
①靜態(tài)外部變量(只限本程序文件使用)。
②外部變量(即非靜態(tài)的外部變量,允許其它程序文件引用)。

4.動態(tài)存儲和靜態(tài)存儲
從變量存在時間可將變量存儲分為動態(tài)存儲和靜態(tài)存儲。靜態(tài)存儲是在整個程序運行時都存在,而動態(tài)存儲則是在調(diào)用函數(shù)時臨時分配存儲單元。

動態(tài)存儲:
①自動變量(函數(shù)內(nèi)有效)。
②寄存器變量(函數(shù)內(nèi)有效)。
③形式參數(shù)。

靜態(tài)存儲:
①靜態(tài)局部變量(函數(shù)內(nèi)有效)。
②靜態(tài)外部變量(本程序文件內(nèi)有效)。
③外部變量(整個程序可引用)。

5.靜態(tài)存儲區(qū)和動態(tài)存儲區(qū)
從變量值存放的位置可將變量存儲區(qū)分為靜態(tài)存儲區(qū)和動態(tài)存儲區(qū):
內(nèi)存中靜態(tài)存儲區(qū):
①靜態(tài)局部變量。
②靜態(tài)外部變量。
③外部變量(可被同一程序其它文件引用)。
內(nèi)存中動態(tài)存儲區(qū):自動變量和形式參數(shù)。
CPU中的寄存器:寄存器變量。

關(guān)于C語言中static的用法示例分析就介紹完了,希望本文對大家有所幫助。如果大家還有疑問歡迎給我留言,小編會及時回復(fù)大家的,同時也非常感謝大家對武林技術(shù)頻道網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

日韩欧美中文字幕一区二区三区| 自拍偷拍亚洲天堂| 久久久久久av无码免费网站| 青青草成人影院| 国产大片在线免费观看| 免费国产a级片| 韩日午夜在线资源一区二区| 中文字幕精品在线| 自拍偷拍亚洲天堂| 女性女同性aⅴ免费观女性恋| 国产视频福利一区| 午夜a一级毛片亚洲欧洲| 成人免费淫片免费观看| 午夜精品久久久久久久爽| 中文字幕亚洲无线码在线一区| 日韩一区二区av| 日韩成人精品一区二区三区| 色偷偷网站视频| av在线亚洲男人的天堂| 亚洲精品三区| 正在播放亚洲精品| 亚洲激情图片网| 午夜伦欧美伦电影理论片| bl视频在线免费观看| 国产香蕉久久精品综合网| 91在线精品播放| 毛片一区二区三区四区| 久草免费新视频| 黄色亚洲在线| 欧美激情在线观看视频免费| 久久久国产高清| 日韩视频免费| 男女爽爽爽视频| 欧美成人免费网| 国产真实久久| www天堂在线| 国产在线小视频| 一区二区三区国产精品| 爆操妹子视频在线观看| 天堂av电影在线观看| 日韩高清不卡在线| 欧美写真视频网站| 深田えいみ中文字幕99久久| 国产一区二区三区观看| 日韩av中文字幕一区二区三区| 欧美激情a在线| 久久一区二区三区四区五区| 一本久久a久久精品vr综合| 免费超碰在线| 久久99热这里只有精品| 最好看的2019年中文视频| 日韩一区二区三区在线播放| 国产日韩欧美一区在线| 九九热视频免费在线观看| 国产精品第56页| 福利一区二区三区视频在线观看| 一本大道综合伊人精品热热| 日韩欧美高清一区| 日韩三级在线观看视频| 亚洲精品成av人片天堂无码| 午夜精品久久久久99蜜桃最新版| 羞羞网站在线看| 色网视频在线| 麻豆传媒在线视频| 国产精品区一区二区三区| 色综合久久综合| 日韩视频不卡| 超碰超碰超碰超碰超碰| 国产精品国产精品国产专区| 人妻91麻豆一区二区三区| 日本精品在线播放| 精品少妇人欧美激情在线观看| 久久久久久久久免费视频| 韩国黄色一级大片| 亚洲精品一级片| 99久免费精品视频在线观78| 黄色精品视频在线观看| 国产女优一区| 一本久道高清无码视频| 欧美性潮喷xxxxx免费视频看| 天堂资源av| 欧美伊人久久久久久午夜久久久久| www.爱爱.com| 久久久久久9999| 青青视频一区二区| 亚洲欧美激情视频在线观看一区二区三区| 欧美中文在线视频| 国产女人被狂躁到高潮小说| 亚洲精品福利在线观看| 亚洲欧洲成视频免费观看| 国产va免费精品高清在线| 天天骑夜夜操| 自拍电影在线观看| 四虎国产精品永久免费观看视频| 亚洲欧美一区二区三区四区五区| 丝袜 亚洲 另类 欧美 重口| 性欧美大胆高清视频| 国产乱淫av片免费| 亚洲精品97久久久babes| 欧洲亚洲在线| 色琪琪丁香婷婷综合久久| 日韩亚洲欧美中文字幕| 日本一级淫片免费放| 国产极品尤物在线| 成人黄色激情网站| 情趣网站在线观看| www亚洲精品| 日本精品专区| 国产成人一区二区在线观看| 性欧美18一19内谢| 国内小视频在线看| 国产一区二区美女视频| 伊人成人在线视频| 天天射夜夜骑| 超碰在线播放97| 一区在线中文字幕| 一本久道高清无码视频| 日韩视频免费观看高清完整版| 一区二区亚洲| 一区二区在线免费看| 国产免播放器视频| 蜜桃av乱码一区二区三区| 亚洲一级影院| 最新日本在线观看| 国产亚洲精品熟女国产成人| av一区二区三区四区| 日本a在线观看| 97超碰免费在线| 亚洲丝袜自拍清纯另类| 男人天堂电影网| 国产在成人精品线拍偷自揄拍| 国产成人综合亚洲欧美在| 欧美激情第一区| 欧美国产日产韩国视频| 樱花草国产18久久久久| 国产精品aaaa| 91天堂在线视频| 欧美成人免费全部观看天天性色| 国产美女一区视频| 5566中文字幕一区二区电影| 天天摸天天做天天爽水多| 久久免费的精品国产v∧| 日韩免费观看高清| 亚洲自拍偷拍一区二区| 国产成人啪免费观看软件| 国产成人精品在线观看| 久草视频中文在线| bt7086福利一区国产| 国产精品一区高清| 亚洲天堂电影在线观看| 色综合久久九月婷婷色综合| 欧美xxxx黑人又粗又长密月| 中韩乱幕日产无线码一区| 最新中文字幕亚洲| 日韩欧美三级| 尤物视频最新网址| 亚洲aⅴ男人的天堂在线观看| 欧美亚洲国产bt| 伊人成人在线视频| av片在线看| a在线视频v视频| 最近中文字幕免费观看| 狠狠综合久久| av免费观看一区二区| 天天影视涩香欲综合网| 九九热精品视频在线观看| 99精品国产在热久久婷婷| aaa大片在线观看| 午夜黄色小视频| 欧美电影精品一区二区| 麻豆精品一区| 国产一级精品aaaaa看| 日韩大片一区二区| 亚洲午夜精品久久久久久久久| 视频一区在线免费看| 成人在线观看www| 99精品热6080yy久久| 宅男在线观看免费高清网站| 一级片久久久久| 超碰成人97| 欧美精品二区三区| 欧美在线在线| 97欧美精品一区二区三区| 亚洲xxxx天美| 8x海外华人永久免费日韩内陆视频| 亚洲视频在线播放免费| 精品国产91九色蝌蚪| 亚洲色图欧美激情| 亚洲一区二区三区不卡国产欧美| 国产女人被狂躁到高潮小说| 欧美风情第一页| 久久久国产精品免费| 在线观看成人av| 精品91一区二区三区| 欧美成人精品一区二区三区| 国产成人综合亚洲| 中文字幕第九页| 深田えいみ中文字幕99久久| 欧美久久一二区| 91爱视频在线| 激情一区二区| a毛片在线免费观看| 国产精品一国产精品| 久久综合给合久久狠狠色| 亚洲承认在线| 亚州精品国产精品乱码不99按摩| 日韩精品福利网站| 日韩精品一区二区三区四区五区| 在线播放国产一区二区三区| eeuss影院网站免费观看| 99精品视频在线免费观看| 欧美成人一区二区| 午夜娱乐在线| 亚洲a∨无码无在线观看| 91九色porn蝌蚪| 日韩极品少妇| 97在线视频国产| 亚洲精品美女91| 特黄特色欧美大片| 色视频在线免费观看| 亚洲av人无码激艳猛片服务器| 日韩 欧美一区二区三区| 免费在线性爱视频| 在线日韩电影| 亚洲一区日韩精品中文字幕| av福利精品导航| 99久久99久久精品国产片桃花| 9999精品| 中文字幕乱码久久午夜不卡| 久久久久久久久久看片| 国产成人精品亚洲日本在线桃色| 亚洲综合中文字幕在线| 美女喷水白浆| 日本一二三四高清不卡| 黑人巨大精品欧美一区| 岛国电影中文在线| 蜜桃在线视频| 欧美一区二区三区成人精品| 久久久久免费网站| 国产特黄一级片| 婷婷丁香久久五月婷婷| 欧美福利第一页| 国产aⅴ精品一区二区三区黄| 日本在线视频中文有码| 亚洲精品国产精品久久清纯直播| 亚洲在线久久| 9人人澡人人爽人人精品| 亚洲精品久久久狠狠狠爱| 九九热在线视频观看| 久久婷婷国产综合国色天香| 黄色小说在线观看视频| 午夜久久av| 日本中文字幕视频| 天天夜碰日日摸日日澡性色av| 亚洲一级片免费观看| 麻豆精品传媒视频| 国产精品国产高清国产| 亚洲黄色av网址| 亚洲区一区二区三区| 先锋成人影音| 国产精品69久久久久水密桃| jizzjizzjizz亚洲| 先锋资源中文在线| 毛片基地在线观看| www.久久热| 在线一区视频| 天堂网视频在线| 国产精品成人免费在线| 日韩极品精品视频免费观看| a级片国产精品自在拍在线播放| 亚洲欧美色图区| 久草视频在线资源| 各处沟厕大尺度偷拍女厕嘘嘘| 91国产丝袜在线放| 日本福利小视频| 91国产精品一区| 久久影院模特热| 欧美日韩二区三区| 中文字幕在线影视资源| 久久大香伊蕉在人线观看热2| 日韩情涩欧美日韩视频| 日韩三级在线观看视频| 99免费在线观看视频| 亚洲欧美在线精品| 日本wwww视频| 亚洲a级在线播放观看| 日韩欧美一级精品久久| 一道精品视频一区二区三区男同| 欧美在线观看日本一区| 国产午夜精品全部视频在线播放| 精品人妻人人做人人爽| 国产69精品久久久久孕妇| 五月天一区二区三区| 激情欧美日韩一区二区| palipali轻量版永久网页入口| 深夜福利视频一区二区| 国产一区二三区好的| 亚洲免费av一区| 翔田千里精品久久一区二| 水蜜桃免费高清视频在线播放| 男女视频在线观看免费| 亚洲精品在线观看网站| 色香色香欲天天天影视综合网| 久久免费一区| 色婷婷综合久久久久中文| 性少妇bbw张开| 激情中国色综合| 国产精品久久久久久久久动漫| 欧美午夜视频一区二区| 色天天久久综合婷婷女18| 1069男同网址| 超碰在线播放97| 欧美成人精品三级网站| 国产精品欧美一区二区三区不卡| 天天躁日日躁狠狠躁欧美巨大小说| 国产精品精品视频| 神马午夜精品91| 日韩精品国产精品| 日本色护士高潮视频在线观看| 国产探花在线观看视频| 欧美大片va欧美在线播放| 久久久精品人体av艺术| 国产视频一区二区三区在线播放| 少妇视频一区二区| 成人免费淫片免费观看| 四虎成人欧美精品在永久在线| 国产精品777777在线播放| 男人的天堂av高清在线|