久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 關鍵字static的作用 [打印本頁]

作者: 51hei單片    時間: 2016-3-13 17:15
標題: 關鍵字static的作用
C語言中,關鍵字static有三個明顯的作用:
1)在函數體內,一個被聲明為靜態的變量在這一函數被調用過程中維持其值不變(該變量存放在靜態變量區)。
2) 在模塊內(但在函數體外),一個被聲明為靜態的變量可以被模塊內所用函數訪問,但不能被模塊外其它函數訪問。它是一個本地的全局變量。
3) 在模塊內,一個被聲明為靜態的函數只可被這一模塊內的其它函數調用。那就是,這個函數被限制在聲明它的模塊的本地范圍內使用。
大多數應試者能正確回答第一部分,一部分能正確回答第二部分,但是很少的人能懂得第三部分。這是一個應試者的嚴重的缺點,因為他顯然不懂得本地化數據和代碼范圍的好處和重要性。
考點:在嵌入式系統中,要時刻懂得移植的重要性,程序可能是很多程序員共同協作同時完成,在定義變量及函數的過程,可能會重名,這給系統的集成帶來麻煩,因此保證不沖突的辦法是顯示的表示此變量或者函數是本地的,static即可。
Linux的模塊編程中,這一條很明顯,所有的函數和全局變量都要用static關鍵字聲明,將其作用域限制在本模塊內部,與其他模塊共享的函數或者變量要EXPORT到內核中。
static關鍵字至少有下列n個作用:
1)設置變量的存儲域,函數體內static變量的作用范圍為該函數體,不同于auto變量,該變量的內存只被分配一次,因此其值在下次調用時仍維持上次的值;
2)限制變量的作用域,在模塊內的static全局變量可以被模塊內所用函數訪問,但不能被模塊外其它函數訪問;
3)限制函數的作用域,在模塊內的static函數只可被這一模塊內的其它函數調用,這個函數的使用范圍被限制在聲明它的模塊內;
4)在類中的static成員變量意味著它為該類的所有實例所共享,也就是說當某個類的實例修改了該靜態成員變量,其修改值為該類的其它所有實例所見;
5)在類中的static成員函數屬于整個類所擁有,這個函數不接收this指針,因而只能訪問類的static成員變量。







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩三级在线 | 久久亚洲欧美日韩精品专区 | 日韩亚洲欧美综合 | 精品一区视频 | av在线天堂网 | 成人一区二区三区在线观看 | www.久久99| 91精品久久久 | 操人网站 | 久国产视频 | 亚洲精品视频一区二区三区 | 91免费视频观看 | 99国产视频 | 亚洲精品日韩精品 | 激情免费视频 | 综合久久亚洲 | 色综合久久天天综合网 | 一级视频在线免费观看 | 中文字幕亚洲一区 | 国产综合久久久久久鬼色 | www.青青草 | 国产精品99久久久久久动医院 | 一二三区在线 | 色橹橹欧美在线观看视频高清 | 精品国产欧美日韩不卡在线观看 | 日韩国产精品一区二区三区 | 亚洲人成人一区二区在线观看 | 欧美一区二区三区 | 黄色免费在线观看网址 | 国产精品九九视频 | 精品视频免费 | 国产aa| 欧美一区二区三区在线观看视频 | 亚洲精品在线视频 | 污视频在线免费观看 | a久久| av手机免费在线观看 | 精品欧美乱码久久久久久 | 国产小视频在线看 | 午夜一区二区三区在线观看 | 国产精品久久久久久久岛一牛影视 |