這樣說起來好象很抽象,其實靜態變量就是壹個全局變量,我們在程序中的任何地方,都可以用它而且可以不實例話它,在我們調用靜態變量的時候它的值不會初始化到以前的值,也就是說它是會變化的。比如,靜態變量的初始值為1,但是經過我們調用後它的值變成了2,那麽下次我們再調用它的時候,它的值就是2了而不會是1。
問題二:靜態變量的變量定義 全局變量(外部變量)的說明之前再冠以static 就構成了靜態的全局變量。全局變量本身就是靜態存儲方式, 靜態全局變量當然也是靜態存儲方式。 這兩者在存儲方式上並無不同。這兩者的區別雖在於非靜態全局變量的作用域是整個源程序, 當壹個源程序由多個源文件組成時,非靜態的全局變量在各個源文件中都是有效的。 而靜態全局變量則限制了其作用域, 即只在定義該變量的源文件內有效, 在同壹源程序的其它源文件中不能使用它。由於靜態全局變量的作用域局限於壹個源文件內,只能為該源文件內的函數公用, 因此可以避免在其它源文件中引起錯誤。從以上分析可以看出, 把局部變量改變為靜態變量後是改變了它的存儲方式即改變了它的生存期。把全局變量改變為靜態變量後是改變了它的作用域, 限制了它的使用範圍。因此static 這個說明符在不同的地方所起的作用是不同的。應予以註意。
問題三:c語言中什麽是靜態變量,什麽是動態變量? 全局變量聲明之前加上static,就是靜態全局變量。全局變量和靜態全局變量都是靜態存儲的;在存儲上無區別。區別浮於他們的作用域;全局變量的作用域是整個源程序,當源程序有多個源文件組成時,全局變量在各個源程序文件都是有效的;而靜態全局變量怎被限制了作用域,只在定義該變量的源文件內有用在同壹程序的其他源文件不能使用!
還有靜態全局變量只初始化壹次,防止在其他源文件調用!而全局變量可以再其他源文件初始化!!
問題四:靜態變量定義過多有什麽影響 只是增加了占用的內存。程序運行的時候直接就分配了空間。其實跟全局變量差不多,但是全局變量是只有用到某壹個類的時候才分配。靜態變量是壹直存在。
問題五:什麽叫靜態變量?與動態變量的差別在哪? 動態全局變量:
作用域為整個項目,即最終編譯成可執行文件的所有文件中均可以使用動態全局變量。
生命周期為從程序運行到程序退出,即貫穿整個運行時間。
靜態全局變量:
作用域為當前文件,從定義/聲明位置到文件結尾。
生命周期為從程序運行到程序退出,即貫穿整個運行時間。
問題六:C語言裏面靜態變量static是什麽作用啊? 這個應該是個靜態存儲,在壹次循環之後,帶入的值是不會被釋放的,也就是說第壹次循環結果是多少第二次循環還是多少,不會變成題目初始值。
問題七:C語言動態變量和靜態變量的區別 全局變量聲明之前加上static,就是靜態全局變量。全局變量和靜態全局變量都是靜態存儲的;在存儲上無區別。區別在於他們的作用域;全局變量的作用域是整個源程序,當源程序有多個源文件組成時,全局變量在各個源程序文件都是有效的;而靜態全局變量怎被限制了作用域,只在定義該變量的源文件內有用在同壹程序的其他源文件不能使用!還有靜態全局變量只初始化壹次,防止在其他源文件調用!而全局變量可以再其他源文件初始化!!
問題八:靜態變量static的作用 假設妳定義了壹個靜態static的int i;那麽就會在系統內存中開辟壹個內存空間 並且是唯壹壹個固定不變的,不管妳在哪裏改變了i的值 都會使在全局中受到改變
問題九:C++中; 靜態變量與動態變量有什麽區別啊? 作用是什麽? C++中變量存儲方式有三種,自動存儲,靜態存儲,動態存儲
自動存儲簡單意義上就是在函數內不用任何關鍵字直接定義的變量,它在函數被調用時被創建,在函數退出時自動消失,
靜態存儲顧名思義就是在程序的整個運行過程中都存在,在函數體外定義的變量自動為靜態存儲方式,也可以在函數內使用static關鍵字定義
動態存儲是以關鍵字new和delete構成的,亥程序運行過程中需要時通過new現場分配指定大小的空間,不再需要時使用delete來釋放
問題十:java中成員變量和靜態變量的區別是什麽 JAVA成員變量和靜態變量的區別:
1,成員變量所屬於對象。所以也稱為實例變量。
靜態變量所屬於類。所以也稱為類變量。
2,成員變量存在於堆內存中。
靜態變量存在於方法區中。
3,成員變量隨著對象創建而存在。隨著對象被回收而消失。
靜態變量隨著類的加載而存在。隨著類的消失而消失。
4,成員變量只能被對象所調用 。
靜態變量可以被對象調用,也可以被類名調用。
所以,成員變量可以稱為對象的特有數據,靜態變量稱為對象的***享數據。