c語言中static可以加在函式宣告前嗎?如果可以是

時間 2021-08-30 10:38:27

1樓:學霸

可以。私有函式只有該類的成員變數或成員函式可以訪問。在c語言中,也有「private函式」,它就是接下來要說的static函式,完成物件導向程式設計中private函式的功能。

當你的程式中有很多個原始檔的時候,你肯定會讓某個原始檔只提供一些外界需要的介面,其他的函式可能是為了實現這些介面而編寫,這些其他的函式你可能並不希望被外界(非本原始檔)所看到,這時候就可以用static修飾這些「其他的函式」。

所以static函式的作用域是本原始檔,把它想象為物件導向中的private函式就可以了。

在函式宣告中加上static的好處是:

在多個檔案連結時,static函式只是檔案域內可見。

2樓:

,static函式

相信大家還記得c++物件導向程式設計中的private函式,私有函式只有該類的成員變數或成員函式可以訪問。在c語言中,也有「private函式」,它就是接下來要說的static函式,完成物件導向程式設計中private函式的功能。

當你的程式中有很多個原始檔的時候,你肯定會讓某個原始檔只提供一些外界需要的介面,其他的函式可能是為了實現這些介面而編寫,這些其他的函式你可能並不希望被外界(非本原始檔)所看到,這時候就可以用static修飾這些「其他的函式」。

所以static函式的作用域是本原始檔,把它想象為物件導向中的private函式就可以了。

參考資料如下

C語言中static變數的賦值問題

小夏在深圳 static int a 0 執行期時初始化一次,下次再呼叫時,不進行初始化工作如下 printf d a a int main staticlocalvar 第一次呼叫,輸出a 0 staticlocalvar 第二次呼叫,記憶了第一次退出時的值,輸出a 1 return 0 擴充套件...

c語言中在函式中用static修飾的變數還能給

隆隆 樓主 可是c語言中說 有時希望函式中的區域性變數的值在函式呼叫結束後不消失而保留原值,這時就應該指定區域性變數為 靜態區域性變數 用關鍵字static進行宣告。所謂的結束後不消失保留原值是指當前函式結束後該static變數所佔的記憶體不釋放。函式內一般定義的變數 auto 變數 在函式執行結束...

c語言中自定義函式的用法,C語言中,自定義函式的用法。

c語言中,每個函式都有返回值型別。可以是void,int,double,等,也可以是struct型別。在返回值是void型別的函式中,return一般在最後一行,後面不加任何值,而且此時return可以省略。如 void printresult int n 並不是return必須放在最後一行。只要達...