心理

當前位置 /首頁/完美生活/心理/列表

結構體與全局變量優缺點

結構體與全局變量優缺點

優點:

1)全局可見,任何 一個函數或線程都可以讀寫全局變量-同步操作簡單。

2)內存地址固定,讀寫效率比較高。

缺點:

1)全局變量存放在靜態存儲區,系統需要爲其分配內存,一直到程序結束, 纔會釋放內存,這一點就局部變量的動態分配,隨用隨從棧中申請,用完(函數調用完畢)就釋放。

2)影響函數的封裝性能:我們肯定是希望我們寫的函數具有重入性,就如一個黑盒子一般,只 透過函數參數就能得到返回,內部 實現要獨立,但是如果函數中使用了全局變量,這勢必就破壞了函數的封裝性,會造成對全局變量的依賴。

3)降低函數的移值性,原因同上。

4)降低代碼的可讀性,這也意味着系統維護會不方便,因爲一個全局變量可能會出現程序中的各個環節,函數的 執行也會根據環境變化而變化,所以調試會不太方便。

5)全局變量的讀寫,可能會延遲,這主要是體現在“寫”操作上,由於寫操作,一般需要2個週期操作,所以有可能會出現,這邊沒寫完時,那邊已經讀了,結果 讀到的不是最終值,這個是一個概率事件,概率 很小,但是並不代表沒有。

TAG標籤:全局變量 優缺點 #