static函數(shù)c語言 static c語言

c語言中static說明是什么意思?

在C語言中,static關鍵字的作用如下:

全州網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選成都創(chuàng)新互聯(lián)。

1、在修飾變量的時,static修飾的靜態(tài)局部變量只執(zhí)行一次,而且延長了局部變量的生命周期,直到程序運行結束以后才釋放。

2、static修飾全局變量的時,這個全局變量只能在本文件中訪問,不能在其它文件中訪問,即便是extern外部聲明也不可以。

3、static修飾一個函數(shù),則這個函數(shù)的只能在本文件中調用,不能被其他文件調用。Static修飾的局部變量存放在全局數(shù)據(jù)區(qū)的靜態(tài)變量區(qū)。

擴展資料:

static關鍵字在C語言、C++、java中的作用有著相似之處,但也存在差異:

一、C++的static用法:

1、面向過程程序設計中的static和面向對象程序設計中的static。前者應用于普通變量和函數(shù),不涉及類;后者主要說明static在類中的作用。

2、在類中,static可以用來修飾靜態(tài)數(shù)據(jù)成員和靜態(tài)成員方法

靜態(tài)數(shù)據(jù)成員

(1)靜態(tài)數(shù)據(jù)成員可以實現(xiàn)多個對象之間的數(shù)據(jù)共享,它是類的所有對象的共享成員,它在內存中只占一份空間,如果改變它的值,則各對象中這個數(shù)據(jù)成員的值都被改變。

(2)靜態(tài)數(shù)據(jù)成員是在程序開始運行時被分配空間,到程序結束之后才釋放,只要類中指定了靜態(tài)數(shù)據(jù)成員,即使不定義對象,也會為靜態(tài)數(shù)據(jù)成員分配空間。

(3)靜態(tài)數(shù)據(jù)成員既可以通過對象名引用,也可以通過類名引用。

靜態(tài)成員函數(shù)

(1)靜態(tài)成員函數(shù)和靜態(tài)數(shù)據(jù)成員一樣,他們都屬于類的靜態(tài)成員,而不是對象成員。

(2)非靜態(tài)成員函數(shù)有this指針,而靜態(tài)成員函數(shù)沒有this指針。

(3)靜態(tài)成員函數(shù)主要用來方位靜態(tài)數(shù)據(jù)成員而不能訪問非靜態(tài)成員。

二、java的static用法:

1、聲明為static的變量稱為靜態(tài)變量或類變量??梢灾苯油ㄟ^類名引用靜態(tài)變量,也可以通過實例名來引用靜態(tài)變量,但最好采用前者,因為后者容易混淆靜態(tài)變量和一般變量。

2、聲明為static的方法稱為靜態(tài)方法或類方法。靜態(tài)方法可以直接調用靜態(tài)方法,訪問靜態(tài)變量,但是不能直接訪問實例變量和實例方法。靜態(tài)方法中不能使用this關鍵字,因為靜態(tài)方法不屬于任何一個實例。

參考資料來源:百度百科-static(計算機高級語言)

static在c語言中是什么意思

1、修飾變量

變量分為局部和全局變量,但是都存于內存的靜態(tài)區(qū)。靜態(tài)全局變量的作用域僅局限于變量被定義的文件中,其他文件即使使用extern也沒法使用,其范圍準確的說是從定義之初開始,到文件結尾處結束。在其前面定義的代碼行也不能使用。

靜態(tài)局部變量,在函數(shù)體里面定義的,就只能在這個函數(shù)里用了,同一個文檔中的其他函數(shù)也用不了。由于被static 修飾的變量總是存在內存的靜態(tài)區(qū),所以即使這個函數(shù)運行結束,這個靜態(tài)變量的值還是不會被銷毀,函數(shù)下次使用時仍然能用到這個值。

2、修飾函數(shù)

函數(shù)前加static 使得函數(shù)成為靜態(tài)函數(shù)。但此處“static”的含義不是指存儲方式,而是指對函數(shù)的作用域僅局限于本文件(所以又稱內部函數(shù))。使用內部函數(shù)的好處是:不同的人編寫不同的函數(shù)時,不用擔心自己定義的函數(shù),是否會與其它文件中的函數(shù)同名。

關鍵字static 有著不尋常的歷史。起初,在C 中引入關鍵字static 是為了表示退出一個塊后仍然存在的局部變量。隨后,static 在C 中有了第二種含義:用來表示不能被其它文件訪問的全局變量和函數(shù)。為了避免引入新的關鍵字,所以仍使用static 關鍵字來表示這第二種含義。

C語言中static是做什么用的?

有兩種用法:

1、static修飾局部變量,成為一個局部靜態(tài)變量。

static修飾局部變量(靜態(tài)局部變量)與普通局部變量相比,它的優(yōu)勢在于:

①靜態(tài)局部變量作用域與連接屬性與普通局部變量一樣;

②存儲類:靜態(tài)局部變量分配在data/bss段,普通局部變量在棧上;

③生命周期:因為存儲類的不同,靜態(tài)局部變量的生命周期得到延長了,直到程序結束。

2、static修飾全局變量與函數(shù),成為靜態(tài)全局變量與靜態(tài)函數(shù)。

static修飾全局變量\函數(shù) 與 普通全局變量\普通函數(shù)相比,它的優(yōu)勢在于:

①存儲類、生命周期、作用域都一樣;

②差別在于static修飾全局變量\函數(shù)連接屬性是內連接,普通全局變量\普通函數(shù)是外鏈接;

③就是說static修飾全局變量\函數(shù)不能跨文件訪問調用。

擴展資料:

在類內數(shù)據(jù)成員的聲明前加上static關鍵字,該數(shù)據(jù)成員就是類內的靜態(tài)數(shù)據(jù)成員。其特點如下:

靜態(tài)數(shù)據(jù)成員存儲在全局數(shù)據(jù)區(qū),靜態(tài)數(shù)據(jù)成員在定義時分配存儲空間,所以不能在類聲明中定義

靜態(tài)數(shù)據(jù)成員是類的成員,無論定義了多少個類的對象,靜態(tài)數(shù)據(jù)成員的拷貝只有一個,且對該類的所有對象可見。也就是說任一對象都可以對靜態(tài)數(shù)據(jù)成員進行操作。而對于非靜態(tài)數(shù)據(jù)成員,每個對象都有自己的一份拷貝。

由于上面的原因,靜態(tài)數(shù)據(jù)成員不屬于任何對象,在沒有類的實例時其作用域就可見,在沒有任何對象時,就可以進行操作

和普通數(shù)據(jù)成員一樣,靜態(tài)數(shù)據(jù)成員也遵從public, protected, private訪問規(guī)則

靜態(tài)數(shù)據(jù)成員的初始化格式:數(shù)據(jù)類型類名::靜態(tài)數(shù)據(jù)成員名=值

類的靜態(tài)數(shù)據(jù)成員有兩種訪問方式:類對象名.靜態(tài)數(shù)據(jù)成員名 或 類類型名::靜態(tài)數(shù)據(jù)成員名

C語言中static函數(shù)的具體作用是什么?

C語言中static函數(shù)的具體作用是:

讓一個變量長期有效,而不管其是在什么地方被申明。

避免多個文件使用了相同的變量名而導致沖突。

C語言里面的靜態(tài)函數(shù)和函數(shù)的區(qū)別是:

靜態(tài)函數(shù)是函數(shù)的一種,函數(shù)包括靜態(tài)函數(shù)和非靜態(tài)函數(shù)兩種。

靜態(tài)函數(shù)是有static修飾的函數(shù),如果沒有,則為非靜態(tài)函數(shù)(全局函數(shù))。

當整個程序只有一個C文件時,二者沒有區(qū)別,當程序是由多個C文件組成時,二者的作用域,即可使用的范圍不同。

靜態(tài)函數(shù)(帶static的),只能在本文件中使用,無法跨文件,而非靜態(tài)函數(shù)(不帶static的),可以在任何一個文件中使用。當在其它文件中使用時,需要做函數(shù)聲明后再使用。

c語言static?

您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!展開全部

static 用來說明靜態(tài)變量。

1、如果是在函數(shù)外面定義的,那么其效果和全局變量類似,即static說明的變量可以在當前c程序文件中使用。

2、如果是在函數(shù)內部定義的,那么這個變量只初始化一次,即使再次調用這個函數(shù),這個static變量也不會再次被初始化,于是,這個變量的取值就會一直保存著,我們再次調用該函數(shù)時,仍是保存的上一次函數(shù)調用時保存的結果。

擴展資料:

c語言中的static有三個主要作用:

1、隱藏性。當我們同時編譯多個文件時,所有未加static前綴的全局變量和函數(shù)都具有全局可見性。

2、static可以保持變量內容的持久,當static定義變量在函數(shù)內部時,改變量值的生命周期和全局變量相同。非常感謝您的耐心觀看,如有幫助請采納,祝生活愉快!謝謝!

分享標題:static函數(shù)c語言 static c語言
網(wǎng)頁路徑:http://muchs.cn/article4/docdsie.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、定制網(wǎng)站動態(tài)網(wǎng)站、搜索引擎優(yōu)化、商城網(wǎng)站、自適應網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設