變數為什麼要進行初始化?

2022-05-01 11:12:09 字數 507 閱讀 8695

記憶體是在作業系統的統一管理下使用的!

1、軟體在執行前需向作業系統申請儲存空間,在記憶體空閒足夠時,作業系統將分配一段記憶體空間並將外存中軟體拷貝乙份存入該記憶體空間中,並啟動該軟體的執行;

2、在軟體執行期間,該軟體所佔記憶體空間不再分配給其他軟體;

3、當軟體執行完畢後,作業系統將**該記憶體空間(注意:作業系統並不清空該記憶體空間中遺留下來的資料),以便再次分配給其他軟體使用。

綜上所述,乙個軟體所分配到的空間中極可能存在著以前其他軟體使用過後的殘留資料,這些資料被稱之為垃圾資料。所以通常情況下我們為乙個變數,為乙個陣列,分配好儲存空間之後都要對該記憶體空間初始化。

小知識:

初始化的全域性變數            存放在      資料段

區域性變數                          存放在      棧

malloc函式分配的空間     來自於      堆

未初始化的全域性變數        存放於      bss段    

**於:

為什麼要進行頁面靜態化

從搜尋這裡可以看出,搜尋列表展示的是固定30條資料,搜尋的訪問量已經很巨大了,那麼詳情頁面的訪問量是30倍的搜尋量,如果放在整個百萬級的使用者量上來說,這個訪問量是很巨大的,所以我們就不能每次訪問詳情頁面的時候,都去服務端請求資料再展示 其次是這個詳情頁面來說,不會經常頻繁的變動,所以每次去服務端取...

變數初始化

int a 是變數定義,也就是說編譯器將為a分配儲存,這在編譯時被處理。int a 0 是定義 初始化,定義的分配儲存的action在編譯時完成,初始化的action則在執行時完成 將執行類似dword ptr ebp 4 0的指令,而單獨的int a 不會有對應的執行指令 定義是分配空間,而初始化...

bss段為什麼需要初始化?

我們都知道 bss段需要初始化,但是這是為什麼呢?通過瀏覽資料,我們都會發現,bss bin hex 中的,因為全都是 0bss bss段 一堆 0 將來真正執行程式的時候,再根據這兩個資料進行 bss段的初始化就行了。以上這段文字是網上的資料說的。但是,我可不可以讓 bssnandflash 拷貝...