靜態(tài)定義 靜態(tài)變量的作用域是整個(gè)文件嗎?
靜態(tài)變量的作用域是整個(gè)文件嗎?C語(yǔ)言有兩種static變量一種是函數(shù)局部作用域的,生命周期長(zhǎng),作用域局限于函數(shù)作用域內(nèi)部,不晚于函數(shù)第一次調(diào)用的時(shí)候初始化。通常用于統(tǒng)計(jì)函數(shù)調(diào)用次數(shù)等。另一種是文件局部
靜態(tài)變量的作用域是整個(gè)文件嗎?
C語(yǔ)言有兩種static變量一種是函數(shù)局部作用域的,生命周期長(zhǎng),作用域局限于函數(shù)作用域內(nèi)部,不晚于函數(shù)第一次調(diào)用的時(shí)候初始化。通常用于統(tǒng)計(jì)函數(shù)調(diào)用次數(shù)等。另一種是文件局部作用域的,是file local的,可以實(shí)現(xiàn)文件級(jí)別的數(shù)據(jù)封裝,功能等同于C 里的匿名命名空間。C 里類(lèi)有static成員變量,代表這個(gè)變量是類(lèi)所有而非某個(gè)對(duì)象所有。
C語(yǔ)言中,哪種存儲(chǔ)類(lèi)的作用域與生命周期是不一致的?
局部靜態(tài)(static)變量,作用域?yàn)榫植浚芷谑侨獭?
靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
(1)靜態(tài)局部變量在函數(shù)內(nèi)定義,但不象自動(dòng)變量那樣,當(dāng)調(diào)用時(shí)就存在,退出函數(shù)時(shí)就消失。靜態(tài)局部變量始終存在著,也就是說(shuō)它的生存期為整個(gè)源程序。
(2)靜態(tài)局部變量的生存期雖然為整個(gè)源程序,但是其作用域仍與自動(dòng)變量相同,即只能在定義該變量的函數(shù)內(nèi)使用該變量。退出該函數(shù)后, 盡管該變量還繼續(xù)存在,但不能使用它。