的第二運行時中使用更新後的值,我需要初始化a = 3
(假定爲全局變量),然後在函數中更改a
的值,因此當I中的值更新時運行程序。若要更新全局變量並在程序
現在,當我第二次運行該程序時,a的值未更新,它與a = 3
相同。
我應該如何更新a
的值,以便下次運行程序時可以使用更新後的值?
的第二運行時中使用更新後的值,我需要初始化a = 3
(假定爲全局變量),然後在函數中更改a
的值,因此當I中的值更新時運行程序。若要更新全局變量並在程序
現在,當我第二次運行該程序時,a的值未更新,它與a = 3
相同。
我應該如何更新a
的值,以便下次運行程序時可以使用更新後的值?
程序的靜態存儲(全局變量存儲在其中)是爲了程序的生命,而不是計算機的存在。
在計算機上運行的每個進程(程序)都會從操作系統獲取RAM內存的已定義區域以供其使用。 (包括代碼運行,readonly(和const)變量,堆棧(本地變量駐留的地方),堆(動態分配的變量駐留的地方)和靜態變量以及靜態變量一些更多的東西。
當程序退出時,該內存將被釋放,並且不再與此進程或任何進程關聯,直到重新分配爲止。
如果要在兩個不同的運行中使用它,請將數據保存到文件(在硬盤驅動器上)。
你能提供我最小的工作示例嗎?很難說出你的問題是什麼意思(但看起來你需要將'a'的值保存到磁盤)。 – norok2
歡迎來到stackoverflow.com。請花些時間閱讀[幫助頁面](http://stackoverflow.com/help),尤其是名爲[「我可以問些什麼話題?」](http://stackoverflow.com/help/討論話題)和[「我應該避免問什麼類型的問題?」](http://stackoverflow.com/help/dont-ask)。還請[參觀](http://stackoverflow.com/tour)和[閱讀如何提出好問題](http://stackoverflow.com/help/how-to-ask)。最後,請學習如何創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 –
@ norok2 問題是這樣的: 對於程序中的管理員用戶,我(假設)initialise int password = 1(沒有密碼編無法繼續)。現在,管理員在第一次運行時編程中更改他的密碼(假設password = 2 )並且當我第二次運行程序時,密碼的值仍然是1,它不會更新並且密碼保持不變。 – user160046