静态变量和动态变量的区别是什么?你能用生活中的实例来类比一下吗?

静态变量比动态变量多出一个关键字static,比如,动态变量为int i,静态变量则是static int i。

动态变量在子程序中,每次调用都会从它的初始值开始调用,而不管他在函数中经历了什么变化,静态变量会从变化后的值继续改变。

静态变量:

静态变量在计算机编程领域指在程序执行前系统就为之静态分配,也即在运行时中不再改变分配情况存储空间的一类变量,与之相对应的是在运行时只暂时存在的自动变量,即局部变量与以动态分配方式获取存储空间的一些对象,其中自动变量的存储空间在调用栈上分配与释放。

静态变量也可以用于存储常数,具体来说,静态变量可用const,constant或final等关键字标识,这时其值就会在编译时设定,并且无法在运行时改变。

编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区,而如若有需要,有些编译器还可选择为其开辟专用区,为防止常数变量被错误的指针写入覆盖,亦可在这块区域启用内存保护机制。



  • 鍦–璇█涓闈欐佸彉閲忓拰鍔ㄦ佸彉閲忕殑鍖哄埆,搴旇濡備綍鐞嗚В
    绛旓細闈欐佸彉閲灏辨槸绋嬪簭鍦ㄦ墽琛屽墠灏卞凡缁忓彲浠ョ‘瀹氱殑鍦板潃鐨勫彉閲忋傛櫘閫氬彉閲忓垯鏄湪绋嬪簭鎵ц鍚庢墠鍒嗛厤鐨勫湴鍧鐨勫彉閲忋傛墍浠ラ潤鎬佸彉閲忓鏁翠釜绋嬪簭閮芥槸鍙鐨勶紝鏅氬彉閲忓彧鑳借缁欏叾鍒嗛厤鍦板潃鐨勬ā鍧椾娇鐢紝瓒呭嚭杩欎釜妯″潡鏅鍙橀噺鐨鐢熷懡鍛ㄦ湡缁撴潫銆
  • php涓殑闈欐佸彉閲忓拰鍔ㄦ佸彉閲忕殑鍖哄埆
    绛旓細鍔ㄦ佸彉閲忓拰闈欐佸彉閲忕殑鍖哄埆锛1銆佸瓨鍌ㄤ綅缃 鍔ㄦ佸彉閲忥細瀛樺偍鍦ㄥ唴瀛樺嚭鏍堟暟鎹尯 闈欐佸彉閲忥細瀛樺偍鍦ㄥ叏灞鏁版嵁鍖猴紙闈欐佹暟鎹尯锛2銆佺敓鍛芥湡 鍔ㄦ佸彉閲忥細鏍规嵁浣犲畾涔夌殑浣嶇疆纭畾锛屾瘮濡備綘鍦ㄤ竴涓嚱鏁颁腑瀹氫箟鐨勶紝閭d箞瓒呭嚭璇ュ嚱鏁拌寖鍥村彉閲忓皢澶辨晥 闈欐佸彉閲忥細绋嬪簭缁撴潫鏃舵墠閲婃斁 3銆佷綔鐢ㄥ煙 鍔ㄦ佸彉閲忥細鍚屾牱鐨勮鏍规嵁浣犲畾涔夌殑浣嶇疆鎵嶈兘...
  • 鍔ㄦ佸拰闈欐佹湁浠涔堜笉鍚?
    绛旓細2. 鏃堕棿缁村害涓嶅悓銆傚姩鎬侀氬父娑夊強鍒版椂闂翠笂鐨勫彉鍖栵紝鍗充竴涓簨鐗╁湪鏃堕棿涓婂彂鐢熶簡鍙樺寲锛涜岄潤鎬佸垯娌℃湁鏃堕棿涓婄殑鍙樺寲锛屽嵆涓涓簨鐗╁湪涓娈垫椂闂村唴淇濇寔涓嶅彉銆3. 鏁版嵁绫诲瀷涓嶅悓銆傚湪璁$畻鏈虹瀛︿腑锛鍔ㄦ佸拰闈欐閫氬父鐢ㄦ潵鎻忚堪缂栫▼璇█涓鍙橀噺鍜鏁版嵁绫诲瀷鐨勭壒鎬с傚姩鎬佺被鍨嬭瑷鎸囩殑鏄彉閲忕殑鍊煎湪绋嬪簭鎵ц鏃跺彲浠ラ殢鏃舵敼鍙橈紝鑰岄潤鎬...
  • 闈欐佸彉閲忕殑鏈澶х壒鐐鏄粈涔?瀹鍜屽姩鎬佸彉閲忔湁浠涔堝尯鍒?
    绛旓細闈欐佸彉閲忔槸鎸囧湪鏁翠釜绋嬪簭杩愯鏈熼棿锛岃鍙橀噺閮藉湪鍐呭瓨涓瓨鍦紝涓嶄細琚噴鏀撅紝杩欐牱閫犳垚鐨勭粨鏋滄槸璇ュ彉閲忓師鏉ョ殑鍊艰淇濆瓨銆鍔ㄦ佸彉閲忔槸鎸囪鍙橀噺鍦ㄧ敓瀛樻湡浠呬粎鍦ㄨ繃绋嬭璋冪敤銆佹墽琛岀殑鏃堕棿鑼冨洿锛屼竴鏃﹁繃绋嬭皟鐢ㄧ粨鏉燂紝璇ュ彉閲忓嵆浠庡唴瀛樹腑閲婃斁锛岀浜屾閲嶆柊璋冪敤杩欎釜杩囩▼鏃讹紝鍔ㄦ佸彉閲忓張閲嶆柊鍒涘缓銆傝繖鏍烽犳垚鐨勭粨鏋滄槸:杩囩▼璋冪敤鏃朵笉鑳藉埄鐢...
  • c璇█涓闈欐佸彉閲忎笌鍔ㄦ佸彉閲忕殑涓嶅悓?
    绛旓細鍔ㄦ佸彉閲鍦ㄦ瘡娆″嚱鏁拌皟鐢ㄤ箣鍚庝細鎶婂彉閲忛攢姣侊紝涓嬫璋冪敤鏃跺氨鏄彟涓涓簡銆闈欐佺殑涓嶄細閿姣侊紝涓嬫璋冪敤鏃惰繕鏄偅涓傛瘮濡傦細void a(){ static int i=0;i++;} void b(){ int i=0;i++;} 杩欎釜浣犺皟鐢ㄤ袱娆 i灏卞彉鎴2浜 涓嶇浣犺皟鐢ㄥ灏戞b i閮芥槸1....
  • C++涓; 闈欐佸彉閲忎笌鍔ㄦ佸彉閲忔湁浠涔堝尯鍒鍟? 浣滅敤鏄粈涔?
    绛旓細鑷姩瀛樺偍绠鍗曟剰涔変笂灏辨槸鍦ㄥ嚱鏁板唴涓嶇敤浠讳綍鍏抽敭瀛楃洿鎺ュ畾涔夌殑鍙橀噺锛屽畠鍦ㄥ嚱鏁拌璋冪敤鏃惰鍒涘缓锛屽湪鍑芥暟閫鍑烘椂鑷姩娑堝け锛闈欐瀛樺偍椤惧悕鎬濅箟灏辨槸鍦ㄧ▼搴忕殑鏁翠釜杩愯杩囩▼涓兘瀛樺湪锛屽湪鍑芥暟浣撳瀹氫箟鐨勫彉閲忚嚜鍔ㄤ负闈欐佸瓨鍌ㄦ柟寮忥紝涔熷彲浠ュ湪鍑芥暟鍐呬娇鐢static鍏抽敭瀛楀畾涔 鍔ㄦ瀛樺偍鏄互鍏抽敭瀛梟ew鍜宒elete鏋勬垚鐨勶紝鍦ㄧ▼搴忚繍琛岃繃绋嬩腑...
  • c++閲岄潰闈欐佸彉閲忓拰鍔ㄦ佸彉閲,鑷姩鍙橀噺杩欎簺閮芥湁鍝簺涓鍖哄埆
    绛旓細鑷姩鍙橀噺锛屾寚auto銆傛墍鏈夊彉閲忓鏋滀笉甯﹁鏄庯紝榛樿閮芥槸auto锛屽嵆鑷姩鍙橀噺锛鍔ㄦ佸彉閲锛夈傜壒寰侊細姣忔杩涘叆璇ュ嚱鏁拌繍琛屾椂锛屽奸兘鏄笉纭畾鐨勶紝闇瑕佸垵濮嬪寲銆傞鍑鸿鍑芥暟鏃讹紝鍙橀噺鎵鍗犵殑鍐呭瓨琚洖鏀朵簡銆 闈欐佸彉閲锛屾寚static锛岀壒寰侊細姣忔杩涘叆璇ュ嚱鏁拌繍琛屾椂锛屽兼槸涓婃杩愯鏃剁殑鍊硷紙濡傛槸绗竴娆★紝鍒欓渶瑕佸垵濮嬪寲锛夈傞鍑鸿鍑芥暟鏃...
  • vb涓畾涔夊眬閮ㄥ彉閲忔椂,闈欐佸彉閲忓拰鍔ㄦ佸彉閲忕殑鍖哄埆
    绛旓細闈欐佸彉閲忔槸涓嶈兘鏀瑰彉鐨勫彉閲忥紝鐢ㄤ簬瀛樻斁涓嶇敤淇敼鐨勫硷紝濡傚畾涔塸i=3.1415926锛屾垨鑰呬竴浜涢潤鎬佸瓧绗︿覆锛屽垵濮嬪寲鍚庡氨涓嶈兘淇敼浜嗭紝鍔ㄦ佺殑鏄鍙互鏀瑰彉鐨勶紝鍏佽閲嶆柊璧嬪
  • C璇█涓鍙橀噺鐨瀛樺偍绫诲瀷鏈夊摢鍑犵,瀛樺偍鏂瑰紡鍝嚑绉?璋㈠柦
    绛旓細鍦–璇█涓紝瀵鍙橀噺鐨瀛樺偍绫诲瀷璇存槑鏈変互涓嬪洓绉嶏細1銆乤uto 鑷姩鍙橀噺 2銆乺egister 瀵勫瓨鍣ㄥ彉閲 3銆乪xtern 澶栭儴鍙橀噺 4銆乻tatic 闈欐佸彉閲 鎵璋撳瓨鍌ㄧ被鍨嬫槸鎸囧彉閲忓崰鐢ㄥ唴瀛樼┖闂寸殑鏂瑰紡锛屼篃绉颁负瀛樺偍鏂瑰紡銆傚彉閲忕殑瀛樺偍鏂瑰紡鍙垎涓衡滈潤鎬佸瓨鍌ㄢ濆拰鈥鍔ㄦ瀛樺偍鈥濅袱绉嶃1銆侀潤鎬佸瓨鍌ㄥ彉閲忛氬父鏄湪鍙橀噺瀹氫箟鏃跺氨鍦ㄥ瓨鍌ㄥ崟鍏冨苟...
  • VB缂栫▼閲岀殑鍔ㄦ佸彉閲忓拰闈欐佸彉閲,鍒嗗埆鏄粈涔鎰忔,鏈濂借兘涓句緥,璋㈣阿!_鐧惧害...
    绛旓細闈欐佸彉閲鎸囩殑鏄湪杩囩▼缁撴潫鍚庝粛鐒朵繚鐣鍙橀噺鐨鍊笺鍔ㄦ灏辨槸鎸囦竴涓繃绋嬬粨鏉熷悗锛屼笅娆℃墽琛岃杩囩▼锛屽彉閲忓張鍥炲埌鍒濆鍊笺備妇涓畝鍗曠殑锛歅rivate Static Function Fa( n As Integer )Dim a=a+n Fa=a End Function Private Sub Command1_Click()Dim i As Integer For i = 1 To 5 Print " Sum " ; i &...
  • 扩展阅读:静态美和动态美的区别 ... 静态与动态的区别 ... 什么叫静态纹和动态纹 ... c语言静态定义和动态定义 ... 静态动态测试的区别 ... 静态变量可以改变值吗 ... 静态变量的生存期贯穿 ... 静态动态描写区别 ... java静态变量和动态变量 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网