C語言關鍵字static的使用
static的作用,是為了模塊化設計而成立的,因為static的作用限定了變量或者函數能夠被訪問的作用域。下面是相關的知識,歡迎閲讀。
static 可以修飾變量和函數1、static 修飾函數
函數的訪問範圍就被限定在本文件以內,任何本文件以外內容的'訪問此函數,都是非法和無效的,編譯不會通過,提示找不到該符號。 所以,我們在進行一個函數設計的時候,首先需要考慮的就是,這個函數的作用是什麼,作用範圍是什麼,我們應該怎麼去保證模塊化。如果沒有被外部文件訪問,那麼就把它限定為static。這就是這個static 修飾函數的用處。
2、static 修飾變量
無論在文件的哪個位置,用static修飾 變量,這個變量運行時都是佔用的RAM裏的靜態全局數據區,再説一遍,靜態全局。在程序運行的整個生命週期內是不會釋放的,這個我們也在前面單片機相關的文章裏講過了。
既然static 修飾的變量和全局變量佔用一樣的空間,為何還有static修飾,直接全局變量也就OK了啊? 對於硬件來説,有沒有static自然是一樣的,但是對於軟件卻不一樣。
函數外static修飾的變量,僅僅限定與本文件使用,所以你可以不關注本文件以外的信息,就知道這個變量是如何變化和使用的,這就減小了你閲讀程序的難度。
函數內static修飾的變量,僅僅限定於本函數使用,所以你可以不關注本函數以外的信息,就知道這個變量是如何變化的,進一步減小了你閲讀程序的難度,也方便查詢問題。
所以能定義為static的就儘量定義為static(後面會再更新如何去除static,書寫可重入函數)。
-
C語言的第一個程序
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的`編程語言。下面小編帶大家看看第一個C語言程序。第一個C語言程序實例説明輸出"Hello,world!"是...
-
C語言考試機試經驗三部曲
全國計算機等級考試的持續升温,至使全國計算機等級考試證書已成為國家公務員、國家企事業單位工作人員、公司員工等上崗、加薪、提拔的必備條件。以下是本站小編整理的C語言考試機試經驗三部曲,希望可以為您的考試帶來幫助!第一部:備考篇名將不打無準備之仗,複習備...
-
C語言選擇結構
引導語:選擇結構用於判斷給定的條件,根據判斷的結果判斷某些條件,根據判斷的結果來控制程序的流程。以下是本站小編分享給大家的C語言選擇結構,幫助大家鞏固C語言基礎,歡迎閲讀學習!1.1用if語句實現選擇結構1.在C語言中,if語句有兩種形式:形式1:if(表達式)語句形式2:if(...
-
C語言順序結構知識歸納
C語言的順序結構裏面有哪些知識需要學習的呢,下面小編為大家歸納了C語言順序結構知識,歡迎大家閲讀!C語言順序結構知識歸納一、表達式語句、函數調用語句和空語句1.C語言的語句共分五大類:表達式語句、控制語句、函數調用語句、空語句和複合語句。2.表達式語句的...