標題: 關鍵字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手机免费在线观看
|
精品欧美乱码久久久久久
|
国产小视频在线看
|
午夜一区二区三区在线观看
|
国产精品久久久久久久岛一牛影视
|