C語言中static函式

2021-09-27 08:20:31 字數 1201 閱讀 5594

1.含義:

定義為static的函式,作用域為本檔案,它只能在定義該函式的原始檔中使用。

2.好處

使用static的好處是:不同的人編寫不同的函式時,不用擔心自己定義的函式,是否會與其它檔案中的函式同名,因為同名也沒有關係。

其他檔案中可以定義相同名字的函式,不會發生衝突

靜態函式不能被工程內其他檔案所用。

3.根本原因

根本原因是c語言中同乙個工程中不能有同名函式。

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

例:file1.c中使用file2.c中定義的靜態函式報錯

當然在file2.c中自己使用是沒有問題的,在file2.c中加上主函式

靜態函式的宣告需不需要放到標頭檔案中?因為它並不是提供給其他函式使用的介面。我想還是需要吧,放到標頭檔案中,對應的自己的原始檔可以用。

c語言中static型別

靜態變數都儲存與靜態儲存區中。1.靜態區域性變數 靜態區域性變數屬於靜態儲存方式,它具有以下特點 1 靜態區域性變數在函式內定義 它的生存期為整個源程式,但是其作用域仍與自動變數相同,只能在定義該變數的函式內使用該變數。退出該函式後,儘管該變數還繼續存在,但不能使用它。2 允許對構造類靜態區域性量賦...

C語言中static相關

1.對於全域性static變數,初始化 首先是全域性變數,被初始化為0,其次是static也被初始化為0 存放位置 存放於記憶體的靜態區。作用域 開始於定義位置,終止於檔案的結尾。本檔案之內在沒有定義此static全域性變數之前,想使用的話需要加extern宣告。最好在檔案開始處就定義,避免使用ex...

c語言中static作用

本文根據多篇網路部落格整合而成一.c程式一直由下列部分組成 1 正文段 cpu執行的機器指令部分 乙個程式只有乙個副本 唯讀,防止程式由於意外事故而修改自身指令 2 初始化資料段 資料段 在程式中所有賦了初值的全域性變數,存放在這裡。3 非初始化資料段 bss段 在程式中沒有初始化的全域性變數 核心...