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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

变量的存储类别以及作用空间

發(fā)布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 变量的存储类别以及作用空间 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

從變量值存在的時間角度劃分,可以把變量劃為靜態(tài)存儲空間和動態(tài)存儲空間。

所謂靜態(tài)存儲空間是指在程序運行期間分配固定的存儲空間的方式。而動態(tài)存儲空間是在程序運行期間根據(jù)需要動態(tài)分配存儲空間。

內(nèi)存中供用戶使用的存儲空間,包括三部分:1.程序區(qū),2.靜態(tài)存儲區(qū)。3.動態(tài)存儲區(qū)

數(shù)據(jù)分別存放在靜態(tài)存儲區(qū)和動態(tài)存儲區(qū)。全局變量放在靜態(tài)存儲區(qū)(初始值為0)。在程序執(zhí)行時給全局變量分配存儲區(qū),程序執(zhí)行完畢釋放。在程序執(zhí)行過程中他們占據(jù)固定的存儲單元,而不是動態(tài)地進行分配和釋放。

在動態(tài)存儲區(qū)存放一下變量:①。函數(shù)形式參數(shù),②自動變量。③函數(shù)調用時的現(xiàn)場保護和返回地址等。這些參量系統(tǒng)默認的初始化值為無意義值。

一、auto變量

函數(shù)中的局部變量,未加static,則自動為auto變量。包括函數(shù)中的形參和在函數(shù)定義中的變量以及復合語句中定義的變量。這些變量在調用時自動為它們分配存儲空間。調用完成后則釋放空間。

二、static聲明的靜態(tài)變量

用static聲明的局部變量。在函數(shù)調用結束后并不釋放存儲空間。在下一次調用時,其值為上一次函數(shù)調用結束時的值。存儲于靜態(tài)存儲區(qū),初始值為0。雖然靜態(tài)變量的值在函數(shù)調用以后仍然存在,但其他函數(shù)并不能引用它(滿足局部變量的要求)。

三、register變量

一般情況下,變量的值是存放在內(nèi)存中的。當使用時,由控制器發(fā)出指令將內(nèi)存中該變量的值送到運算器中。經(jīng)過運算器進行運算。如果需要存數(shù),再從運算器將數(shù)據(jù)送到內(nèi)存存放。

如果一些變量使用頻繁,則可以將其存放在register中,而不必花費時間到內(nèi)存中取數(shù),存數(shù),以節(jié)省時間。

注:只有局部自動變量和形參可以作為寄存器變量;再者一個計算機系統(tǒng)中的寄存器數(shù)目是有限的。

四、extern 外部變量(一個全部變量或者函數(shù)默認情況為extern)

當一個變量在另一個文件中定義時,可以在該文件中聲明為extern變量,從而可以訪問到另一個文件中定義的全局變量

file1 : int a;??????????????? //定義

file2 :extern int a;?????????????? //聲明

五、static聲明外部變量

限制一個外部變量只被本文件引用,而不可以被其他的文件引用。

file1 : int a;

file2 :static int a;

轉載于:https://www.cnblogs.com/snowhite/p/5101627.html

總結

以上是生活随笔為你收集整理的变量的存储类别以及作用空间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。