對于全局變量(global)、靜態全局變量(static),靜態局部變量、局部變量理解
變量分為:全局變量、靜態全局變量、靜態局部變量和局部變量;
它們的存儲位置:全局變量和靜態變量存儲在堆里的靜態存儲區里;而局部變量存在于棧里。
它們的作用范圍:全局變量作用于整個源程序所包含的所有源文件中;靜態全局變量與位置關聯,作用于它所在的源文件中;局部變量作用于其定義的函數中
靜態變量存儲在靜態存儲區中,不需要實例化對象;在程序一開始就給它分配空間,直到程序結束;如果未初始化將被賦值為0;
全局變量在對象的生命周期里存在,如果對象被銷毀了,這個普通變量將會消失;而靜態全局變量是在類的生命周期里存在;
棧主要存儲局部變量,當變量消失后,將在棧里自動被釋放;
堆中主要存儲對象、數值等,當生命周期到了,將變成垃圾,等待垃圾回收站回收。
使用:當變量僅在某個文件中使用,最好將其定義為靜態變量;若全局變量僅在某個函數中使用最好將其定義為局部變量;
寫的真亂。。。以前都是看別人寫的,還沒形成習慣哈 FIGHTING
它們的存儲位置:全局變量和靜態變量存儲在堆里的靜態存儲區里;而局部變量存在于棧里。
它們的作用范圍:全局變量作用于整個源程序所包含的所有源文件中;靜態全局變量與位置關聯,作用于它所在的源文件中;局部變量作用于其定義的函數中
靜態變量存儲在靜態存儲區中,不需要實例化對象;在程序一開始就給它分配空間,直到程序結束;如果未初始化將被賦值為0;
全局變量在對象的生命周期里存在,如果對象被銷毀了,這個普通變量將會消失;而靜態全局變量是在類的生命周期里存在;
棧主要存儲局部變量,當變量消失后,將在棧里自動被釋放;
堆中主要存儲對象、數值等,當生命周期到了,將變成垃圾,等待垃圾回收站回收。
使用:當變量僅在某個文件中使用,最好將其定義為靜態變量;若全局變量僅在某個函數中使用最好將其定義為局部變量;
寫的真亂。。。以前都是看別人寫的,還沒形成習慣哈 FIGHTING