全局變量跟靜態變量有什么不一樣?
理解變量的關鍵在于"存在范圍及和"范圍amp。
"存在范圍及指存儲變量的內存空間存在的時間段。無論是全局變量還是靜態變量,都是在程序運行開始時生成,運行結束時銷毀,這是一樣的。
"范圍amp指變量可見的時間段,即變量可以被識別。全局變量的范圍是整個程序運行過程,靜態變量的范圍是在變量的局部函數內。雖然靜態變量存在于通用程序中和這個函數之外,但編譯器在記下變量名時并不知道它們。這就是區別。
關鍵是要明白存在和可見的區別。
西門子S7200PLC什么是全局變量和局部變量?
如果你有很多全局變量v,你就不會不需要使用局部變量。
局部變量是全局變量的小規模應用,一般在子程序中作為臨時變量使用。如果沒有這個子例程,這個局部變量就失去了意義,但是全局變量可以。
您在這里的TEMP不能在主程序中使用。
目前PLC的容量很大,局部變量只有64字節,全局變量卻有5000個,所以不管是主程序還是子程序,不管是不是中間變量,都可以用全局變量代替。
C語言全局變量和局部變量會沖突嗎?為什么?
c語言全局變量和局部變量同名不會。c語言編譯器規定,如果全局變量和局部變量同名,則全局變量在函數中不起作用,而局部變量在函數中起作用。而且同名的全局變量和局部變量生成的地址是不同的,即全局變量和局部變量的存儲位置不同,全局變量存儲在全局變量區,直到整個過程結束才釋放全局變量的內存。局部變量存儲在堆棧區域。局部變量隨著函數的調用被推入堆棧,隨著函數的退出被彈出堆棧(釋放局部變量的內存)。