" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解C語言中的Static關鍵字

 更新時間:2022年01月18日 15:29:47   作者:build.code  
這篇文章主要為大家介紹了C語言中Static關鍵字,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

一、static關鍵字的基本含義

首先,static關鍵字的意思是靜態(tài)的,用于修飾局部變量,全局變量和函數(shù),修改其數(shù)據(jù)儲存類型

1.局部變量:在任意一個函數(shù)內部定義的變量(不加static),初始值不確定,出函數(shù)自動銷毀,存放于棧區(qū)。 使用static修飾這個變量時,編譯器會把她初始化為零,存儲于靜態(tài)區(qū),函數(shù)返回時值保持不變,出函數(shù)不銷毀,下一次進入函數(shù)依然存在。根本原因——static修飾的局部變量存儲在靜態(tài)區(qū)。

2.全局變量 :普通全局變量定義在函數(shù)體外部,在靜態(tài)區(qū)分配存儲空間,編譯器自動對其初始化。普通全局變量對整個工程可見,其他文件使用關鍵字extern外部聲明后可以直接使用。 靜態(tài)全局變量僅對當前文件可見,其他文件不可訪問,其他文件可以定義與其同名的變量,兩者互不影響。 在定義不需要與其他文件共享的全局變量時,加上static關鍵字能夠有效地降低程序模塊之間的耦合,避免不同文件同名變量的沖突,且不會誤使用。

3.函數(shù):在函數(shù)的返回類型前加上static,就是靜態(tài)函數(shù)。例如:static int main() 靜態(tài)函數(shù)只能在聲明它的文件可見,其他文件不能引用該函數(shù)。不同文件可以使用相同名字靜態(tài)函數(shù) 非靜態(tài)函數(shù)可以在另一個文件直接引用。

二、static關鍵字的用法

1.當使用普通局部變量時,如圖,int a是一個局部變量,每次出函數(shù)后自動銷毀,所以打印出"6666666666";

當使用靜態(tài)局部變量時,如圖。static修飾的局部變量除了局部范圍后不會銷毀,下一次進入函數(shù)依然存在。

2.如圖 ,static聲名的函數(shù)不能被另一個文件引用

三、static關鍵字的原理

因為static修飾的局部變量是存儲在靜態(tài)區(qū)的,static修飾全局變量時,實際改變的是變量的存儲位置。 局部變量放在棧區(qū)的,被static修飾后放在了靜態(tài)區(qū)。從而導致除了作用域依然存在,生命周期并沒有結束

如圖為存儲區(qū)示意圖

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!

相關文章

  • 詳解C++中賦值,關系,函數(shù)調用運算符重載的實現(xiàn)

    詳解C++中賦值,關系,函數(shù)調用運算符重載的實現(xiàn)

    本文主要為大家講解一下三個C++中的運算符重載,分別是賦值運算符重載、關系運算符重載和函數(shù)調用運算符重載,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-06-06
  • C和C++11之enum枚舉的具體使用方法

    C和C++11之enum枚舉的具體使用方法

    這篇文章主要介紹了C和C++11之enum枚舉的具體使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • C語言文件操作零基礎新手入門保姆級教程

    C語言文件操作零基礎新手入門保姆級教程

    在實際應用中,我們往往需要對文件進行操作,下面這篇文章主要給大家分享了關于C語言文件操作的零基礎新手入門保姆級教程,文中通過示例代碼以及圖片介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • C/C++ 原生API實現(xiàn)線程池的方法

    C/C++ 原生API實現(xiàn)線程池的方法

    線程池,簡單來說就是有一堆已經(jīng)創(chuàng)建好的線程,接下來通過本文給大家介紹C/C++ 原生API實現(xiàn)線程池的方法,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • C語言如何在字符數(shù)組中插入一個字符

    C語言如何在字符數(shù)組中插入一個字符

    這篇文章主要介紹了C語言如何在字符數(shù)組中插入一個字符,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • C++自定義函數(shù)示例詳解

    C++自定義函數(shù)示例詳解

    在數(shù)學中,函數(shù)是一種基本的數(shù)學對象,它建立了一個集合(稱為定義域)中的每個元素與另一個集合(稱為值域)中的唯一元素之間的對應關系,這篇文章主要介紹了C++自定義函數(shù)示例詳解,需要的朋友可以參考下
    2025-03-03
  • C++中左值引用,右值引用,萬能引用的關系及區(qū)別說明

    C++中左值引用,右值引用,萬能引用的關系及區(qū)別說明

    這篇文章主要介紹了C++中左值引用,右值引用,萬能引用的關系及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 詳細講解C語言中的數(shù)據(jù)以及位運算

    詳細講解C語言中的數(shù)據(jù)以及位運算

    這篇文章主要為大家詳細介紹了C語言中數(shù)據(jù)表示方法以及位運算的相關知識點,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-06-06
  • 使用C# 判斷給定大數(shù)是否為質數(shù)的詳解

    使用C# 判斷給定大數(shù)是否為質數(shù)的詳解

    本篇文章是對使用C#判斷給定大數(shù)是否為質數(shù)的方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言中的內存泄露 怎樣避免與檢測

    C語言中的內存泄露 怎樣避免與檢測

    堆經(jīng)常會出現(xiàn)兩種類型的問題:1.釋放或改寫仍在使用的內存(稱為:“內存損壞”)。2.未釋放不再使用的內存(稱為:“內存泄露”)。這是最難被調試發(fā)現(xiàn)的問題之一
    2013-09-09

最新評論

健康| 新乡市| 富蕴县| 海安县| 西丰县| 商南县| 余江县| 伊宁县| 玉田县| 明光市| 天等县| 北川| 林西县| 梨树县| 长汀县| 蒙山县| 嵩明县| 甘孜县| 华阴市| 山丹县| 廊坊市| 阳原县| 河北省| 东丽区| 冕宁县| 巴南区| 广宁县| 宁城县| 桑植县| 临汾市| 花垣县| 哈尔滨市| 罗甸县| 简阳市| 南宫市| 丰都县| 五常市| 深圳市| 新和县| 柳河县| 上虞市|