<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 知識大全 > 知識百科 > 百科知識 > c語言什么是靜態變量

        c語言什么是靜態變量

        時間: 冠墩784 分享

        c語言什么是靜態變量

          靜態變量是屬于靜態存儲方式,但是屬于靜態存儲方式的量不一定就是靜態變量,下面是學習啦小編為大家整理的關于c語言中靜態變量的介紹,希望可以幫到大家哦。

          c語言靜態變量的概念定義

          “靜態變量”這一術語有兩個容易混淆的定義:

          語言無關的通用定義:與程序有著相同生命周期(英語:Objectlifetime)的變量;

          C族語言特有的定義:以存儲類聲明的變量。

          而在以Pascal為代表的許多程序語言中,所有局部變量都由系統自動分配存儲空間,而所有全局變量的存儲空間則以靜態分配的方式獲取(對應“靜態變量”),因此由于實際上“局部變量”和“全局變量”這兩個術語已足以涵蓋所有的情況,在這些程序語言中通常不使用“靜態變量”這一術語,而直接以“全局變量”代之。一般來說,在這些程序語言中,靜態變量就是全局變量,而即使在有明確區分全局和靜態變量的程序語言中,在編譯后的代碼里二者也以相同的方式獲取存儲空間。而今術語“靜態變量”的概念則主要基于C族語言的“static”的定義(即定義2)。

          c語言靜態變量的常量使用

          靜態變量也可以用于存儲常數。具體來說,靜態變量(全局變量及匯編語言里定義的符號亦同)可用const,constant或final(根據語言決定)等關鍵字標識,這時其值就會在編譯時(英語:Compiletime)設定,并且無法在運行時改變。編譯器通常將靜態常量與文本一起置于目標文件的文本區域,而非常量初始化數據則置于數據區;而如若有需要,有些編譯器還可選擇為其開辟專用區;為防止常數變量被錯誤的指針寫入覆蓋,亦可在這塊區域啟用內存保護機制。

          c語言靜態變量的變量特點

          靜態局部變量

          靜態局部變量屬于靜態存儲方式,它具有以下特點:

          (1)靜態局部變量在函數內定義,但不像自動變量那樣,當調用時就存在,退出函數時就消失。靜態局部變量始終存在著,也就是說它的生存期為整個源程序。

          (2)靜態局部變量的生存期雖然為整個源程序,但是其作用域仍與自動變量相同,即只能在定義該變量的函數內使用該變量。退出該函數后,盡管該變量還繼續存在,但不能使用它。

          (3)允許對構造類靜態局部量賦初值。若未賦以初值,則由系統自動賦值。數值型變量自動賦初值0,字符型變量賦空字符。

          (4)對基本類型的靜態局部變量若在說明時未賦以初值,則系統自動賦予0值。而對自動變量不賦初值,則其值是不定的。根據靜態局部變量的特點,可以看出它是一種生存期為整個源文件的量。雖然離開定義它的函數后不能使用,但如再次調用定義它的函數時,它又可繼續使用,而且保存了前次被調用后留下的值。因此,當多次調用一個函數且要求在調用之間保留某些變量的值時,可考慮采用靜態局部變量。雖然用全局變量也可以達到上述目的,但全局變量有時會造成意外的副作用,因此仍以采用局部靜態變量為宜。

          給讀者一個簡單直白的例子(區別靜態局部變量和動態局部變量):

          這里的運行結果是:

          說明f在加了static的類型限制之后,就相當于全局變量,函數調用完了之后,修改過的f的值仍然是有效的(即這個程序相當于求i的階乘了)。而如果不加static的類型限制,那么,會是什么結果呢,我們看下面的代碼:

          程序的運行結果是:

          也就是說,這時函數fun中的變量f的生命周期就僅限于fun函數的范圍內了,在main中每次傳入新的參數i,f就會計算1*i的值并返回,而不會像之前那樣不斷的累乘了。
        看了“c語言什么是靜態變量”的人還看了:

        1.C語言見習報告6篇

        2.c語言中static的用法

        3.c語言基礎知識總結

        4.c語言const的用法

        5.常用c/c++的面試題有些呢

        6.華為軟件研發面試題大全

        7.Java程序員常用英語

        1380335 主站蜘蛛池模板: 日产精品高潮呻吟av久久| 67194熟妇人妻欧美日韩| 五月天福利视频| 人妻少妇精品无码专区二区| 免费无码高H视频在线观看| 18av千部影片| 久久99精品久久久久麻豆| 精品国产这么小也不放过| 日韩亚洲视频一区二区三区| 亚洲精品综合网中文字幕| 亚洲自拍偷拍一区二区三区 | 成人国产一区二区精品 | 久久午夜无码免费| 丰满人妻被中出中文字幕 | 亚洲精品免费一二三区| 精人妻无码一区二区三区| 天天澡日日澡狠狠欧美老妇| 亚洲AV无码专区色爱天堂老鸭窝| 国产呦交精品免费视频| 亚洲 欧洲 自拍 偷拍 首页| 亚洲欧美另类精品久久久| 熟女一区二区中文字幕| 9色国产深夜内射| 久久亚洲精品成人av无| 精品无码人妻一区二区三区 | 成人深夜节目在线观看| 一级做a爰片久久毛片**| 国产激情一区二区三区成人| 麻豆一区二区中文字幕| 自拍第一区视频在线观看| 亚洲精品国偷拍自产在线观看蜜臀| 国产中文视频| 亚洲欧美综合精品二区| 国内外精品成人免费视频| 素人视频亚洲十一十二区| 欧美videos粗暴| 久久精品国产亚洲av久| 人妻精品动漫h无码| 无码专区视频精品老司机| 日韩不卡1卡2卡三卡网站| a级毛片毛片免费观看久潮|