歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C語言中static的用法

static在C裡面可以用來修飾變量,也可以用來修飾函數。

1.static局部變量

a.生存周期:靜態局部變量在函數內定義,生存期為整個源程序;

b.存儲方式:當用static修飾時,從原來的棧中存放改為靜態存儲區;

c.作用域:與自動變量相同,只能在定義該變量的函數內使用,退出該函數後,盡管該變量還繼續存在,但不能使用它;

d.初始化:對基本類型的靜態局部變量若在說明時未賦以初值,則系統自動賦予0值,而對自動變量不賦初值,則其值是不定的。

2.static全局變量

a.存儲方式:全局變量本身就是靜態存儲方式,靜態全局變量當然也是靜態存儲方式;

b.作用域:非靜態全局變量的作用域是整個源程序(多個源文件可以共同使用),而靜態全局變量則限制了其作用域,即只在定義該變量的源文件內有效。

3.static函數

只能被本文件中的函數調用,而不能被同一程序其它文件中的函數調用。區別於一般的非靜態函數(外部函數) 。

Copyright © Linux教程網 All Rights Reserved