色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

變量的初始化

錢諍諍2年前12瀏覽0評論

變量的初始化?

有些編程語言不一定需要程序員初始化變量(比如VB),因為如果你不初始化,那么編譯器/解釋器會自動幫助你初始化(會將變量數據類型的默認初始值賦給變量)。

即使是C語言這種,也有不需要初始化的變量,例如靜態變量static,規則如下:對于原生數據類型,以對應類型的零值進行初始化;對于類中的靜態對象,由其默認的構造函數來進行初始化。

另外全局變量,還有用calloc()函數分配到的空間,都會被自動初始化。所以題主你理解的變量必須要初始化其實只是由于在C或者類似語言中,局部的自動變量和寄存器變量是從堆、棧或者寄存器上臨時分配(重復使用),我們不知道之前的代碼究竟對這個空間做過什么,所以值會是隨機的。

除非編譯器設為調試模式(debug),此時編譯器往往會自動對局部變量進行初始化(0xcc),這也是有時調試模式編譯運行成功但是發行模式(release)編譯運行出錯的原因。

全局變量和靜態變量之所以不需要初始化是因為,作用范圍為全局的變量(包括全局和靜態)會從全局變量區分配空間,而由于RAM存儲器特性,這些變量會被自動清零。

java靜態變量在堆里,變量的初始化