C語言之static用法

2022-08-20 18:48:14 字數 510 閱讀 8605

1,static修飾全域性變數

限定變數的作用域。被static修飾的全域性變數儲存域不變,依然儲存在靜態儲存區,即bss段或data段。但作用域發生改變,被static修飾全域性變數只能被本檔案的函式訪問,對於其他原始檔是不可見的,哪怕用extern宣告也不可見。

2,static修飾區域性變數

限定變數的儲存域。被static修飾的區域性變數也叫靜態區域性變數,其作用域不變,儲存域發生變化,預設的區域性變數儲存在棧中,static修飾的區域性變數儲存在靜態儲存區,即bss段或data段。靜態區域性變數在程式的整個生命週期中存在。

3,static修飾函式

限定函式的作用域。被static修飾的函式只能被本檔案的函式呼叫,對於其他原始檔是不可見的,哪怕用extern宣告也不可見。

注:限定作用域可以避免不同原始檔重名的問題,限定儲存域可以避免區域性變數被釋放。

C語言之const與static的用法

意即其所修飾 的物件為常量 immutable const有幾種用法,當他修飾變數時表明這個變數是唯讀的,但並不是不能修改的,還是可以通過一些方法修改,在本文結尾可以 下修改的方法 1,const的普通用法 const int n 10 這裡注意到,const在應用時必須初始化,否則是不合法的 這裡...

C語言之static辨析

1 概述 static 宣告的變數在c語言中有兩方面的特徵 1 變數會被放在程式的全域性儲存區中,這樣可以在下一次呼叫的時候還可以保持原來的賦值。這一點是它與堆疊變數和堆變數的區別。td 2 變數用static告知編譯器,自己僅僅在變數的作用範圍內可見。這一點是它與全域性變數的區別。2 問題 sta...

C語言之static作用

在c語言中,static的字面意思很容易把我們匯入歧途,其實作用有三條 1 第一條也是最重要的一條 隱藏 當我們同事編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性,舉例來說 同時編譯2個原始檔 a.c和main.c 下面是a.c的內容 chara a global va...