變數值存在時間角度劃分之動態儲存和靜態儲存

2021-10-06 02:23:23 字數 769 閱讀 1867

變數和函式有兩個屬性:資料型別和資料儲存類別(靜態或動態儲存方式)
程式執行期間由系統分配固定儲存空間的方式

靜態的static修飾:區域性變數或全域性變數

如果用static修飾全域性變數,那麼該全域性變數不能被其他檔案引用。

不能再被extern(extern和static都是修飾符)

如果用static修飾函式,那麼該函式本檔案內可以引用而其他檔案不能引用。

#include

"func.h"

//可以用extern來提公升作用範圍

//可用extern在別的檔案來借用全域性變數

extern

int i;

void

print()

intmain()

程式執行期間根據需要進行動態分配固定儲存空間的方式

自動變數auto:不專門宣告為static儲存類別的區域性變數都是動態分配儲存空間,函式呼叫結束後自動釋放,因此這類區域性變數稱為自動變數。

區域性變數預設就是動態的auto的儲存方式,預設的

主要是嵌入式開發:c語言允許將區域性變數的值放在cpu中的暫存器中。

由於對暫存器的訪問速度遠高於對記憶體的訪問速度,所以提高執行效率。

python變數值 Python變數值轉變量

今天用python讀取乙個有很多欄位的配置檔案,配置檔案中的格式類似 pidstart 2600 startfid 47 starttid 450 startfirst 1 message 一般會想到的是 config open configpath,r for item in config set...

Makefile列印變數值

makefile第二講 列印出內容和使用變數 摘要 echo 開始生成最終執行檔案,請稍候.這一句便是將一條資訊輸出到終端,為何前邊有個 符號呢?有了這個符號該命令本身就不會輸出到終端 不理解,自己去掉或者加上 符號試試 實驗證明,字串可以不加引號。看到 objs main.o 了嗎?這就是變數的定...

Python交換變數值

平時時不時會面面實習生,大多數的同學在學校裡都已經掌握了python。面試的時候要求同學們實現乙個簡單的函式,交換兩個變數的值,大多數的同學給出的都是如下的答案 def swap x,y tmp x x y y tmp實際上,python中還有更簡潔的更具python風格的實現,如下 def swa...