全局變量怎么使用 局部變量,全局變量和字符串常量分別存放在什么區(qū)域?
局部變量,全局變量和字符串常量分別存放在什么區(qū)域?局部變量:堆棧區(qū)域局部靜態(tài)變量:靜態(tài)區(qū)域全局變量:靜態(tài)區(qū)域常量區(qū)域全局靜態(tài)變量:靜態(tài)區(qū)域內(nèi)存分為四個區(qū)域:靜態(tài)區(qū)域、堆棧區(qū)域、堆區(qū)域、代碼區(qū)域答案是全
局部變量,全局變量和字符串常量分別存放在什么區(qū)域?
局部變量:堆棧區(qū)域局部靜態(tài)變量:靜態(tài)區(qū)域全局變量:靜態(tài)區(qū)域常量區(qū)域全局靜態(tài)變量:靜態(tài)區(qū)域內(nèi)存分為四個區(qū)域:靜態(tài)區(qū)域、堆棧區(qū)域、堆區(qū)域、代碼區(qū)域
答案是全局變量。靜態(tài)變量的type關鍵字是static。當然,靜態(tài)變量屬于靜態(tài)存儲模式,但屬于靜態(tài)存儲模式的量不一定是靜態(tài)變量。例如,外部變量屬于靜態(tài)存儲模式,但它們不一定是靜態(tài)變量。它們只有在被靜態(tài)變量定義之后才能成為靜態(tài)外部變量或靜態(tài)全局變量。對于自動變量,它屬于動態(tài)存儲模式。但是,它也可以定義為靜態(tài)自動變量或靜態(tài)局部變量,成為一種靜態(tài)存儲模式。從這個角度出發(fā),可以用靜態(tài)的方法重新解釋一個變量,改變它原來的存儲方式。術(shù)語“靜態(tài)變量”有兩個令人困惑的定義:獨立于語言的一般定義:與程序具有相同生命周期的變量;C族語言的特殊定義:由靜態(tài)存儲類聲明的變量。在以Pascal為代表的許多編程語言中,所有局部變量的存儲空間都是由系統(tǒng)自動分配的,而所有全局變量的存儲空間則是通過靜態(tài)分配(與“靜態(tài)變量”相對應)獲得的,因此“局部變量”和“全局變量”這兩個術(shù)語一般足以涵蓋所有情況不使用術(shù)語“靜態(tài)變量”,而是用“全局變量”代替。一般來說,在這些編程語言中,靜態(tài)變量都是全局變量,即使在全局變量和靜態(tài)變量有明顯區(qū)別的編程語言中,它們也以同樣的方式在編譯代碼中獲得存儲空間。目前,術(shù)語“靜態(tài)變量”的概念主要是基于C語言中“靜態(tài)”的定義