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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2856|回復: 0
打印 上一主題 下一主題
收起左側

關鍵字static的作用

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


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美中文在线 | 国产精品久久精品 | 欧美日韩免费一区二区三区 | 日本黄色一级片视频 | 久久av影院 | 欧美一区二区三区四区视频 | 欧美一级二级三级视频 | 日韩精品一二三 | 亚洲精品久久 | 国产在线拍偷自揄拍视频 | 妖精视频一区二区三区 | 毛片免费观看视频 | 中文字幕一区在线观看视频 | 国产精品高潮呻吟久久aⅴ码 | 特一级毛片 | 久久久久久国产一区二区三区 | 欧美日韩一 | 精品久久久久一区二区国产 | 亚洲精品乱码久久久久久蜜桃 | 日日干夜夜干 | 国产精品一区二区久久 | 国产视频久久久 | 欧美成人精品在线 | 视频一区在线 | 久久久国产精品入口麻豆 | 中文成人无字幕乱码精品 | 欧美另类日韩 | 国产精品.xx视频.xxtv | 久综合 | 精品中文字幕久久 | 久久精品亚洲一区二区三区浴池 | 在线看黄免费 | 久久久久久网站 | 粉嫩粉嫩芽的虎白女18在线视频 | 国产精品一区在线观看你懂的 | 亚洲久在线 | 亚洲伊人久久综合 | 成人av免费| 精品久久久久久久久久久院品网 | 免费a网站 | 日韩色在线 |