日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

静态函数讲解

發布時間:2025/5/22 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 静态函数讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、靜態全局變量(又稱全局靜態變量):?

(1)???????????????靜態全局變量的定義:在全局變量前加一個static,使該變量只在這個源文件中可用。?

??

(2)全局變量與全局靜態變量的區別:?

????????(a)若程序由一個源文件構成時,全局變量與全局靜態變量沒有區別。?

??????????(b)若程序由多個源文件構成時,全局變量與全局靜態變量不同:全局靜態變量使得該變量成為定義該變量的源文件所獨享,即:全局靜態變量對組成該程序的其它源文件是無效的。?

??

(3)靜態全局變量的作用:?

(a)不必擔心其它源文件使用相同變量名,彼此相互獨立。?

(b)在某源文件中定義的靜態全局變量不能被其他源文件使用或修改。?

例如:一個程序由兩個源文件組成,其中在一個源文件中定義了“int???n;”,在另一個源文件中定義了“static???int???n;”則程序給它們分別分配了不同的空間,兩個值互不干擾。?

??

例如:下面在file1.cpp中聲明全局變量n,在file2.cpp中定義全局靜態變量n。文件file1.cpp和file2.cpp單獨編譯都能通過,但連接時,file1.cpp中的變量n找不到定義,產生連接錯誤。?

//???file1.cpp?

#???include???<iostream.h>?

void???fn()?

extern???int???n;?

void???main()?

{?

n=20;?

cout?<?<n?<?<endl;?

fn();?

}?

//???file2.cpp?

#???include???<iostream.h>?

static???int???n;?????//???默認初始化為0,注意此處定義的n???只能在file2.cpp中使用。?

void???fn()?

{?

n++;?

cout?<?<n?<?<endl;?

}?

??

2、靜態函數:使某個函數只在一個源文件中有效,不能被其他源文件所用。?

定義:在函數前面加上static。?

說明:函數的聲明和定義默認情況下在整個程序中是extern的。?

靜態函數的效果:?

(1)它允其他源文件建立并使用同名的函數,而不相互沖突。?

(2)???????????????聲明為靜態的函數不能被其他源文件所調用,因為它的名字不能得到。

總結

以上是生活随笔為你收集整理的静态函数讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。