線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:858
推到 Plurk!
推到 Facebook!

拜托~此處的str0為全局變量,而str1確切的講到底是全局的還是局部的變量呢?

答題得分者是:ac910127
bodelphi
一般會員


發表:5
回覆:4
積分:1
註冊:2008-09-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-11-16 19:48:48 IP:60.217.xxx.xxx 訂閱
unit unit2;
interface
//声明全局变量,由unit1.pas来引用
var
str0:ansistring;
implementation
var
str1:ansistring='這是一個全局變量還是一個局部變量';
begin
end.
//-------------------------------------------------------------------------------------
{請問這里的str1是一個全局變量嗎?如果是全局變量,為什么在其它單元,例如unit1.pas引用時會出現變量未定義,而在引用str0這個全局變量時沒有出錯?;如果不是一個全局變量,那為什么str1可以在定義時賦予初始值?不是說局部變量不能被初始化嗎?,請大家解答一下,十分感謝!}
編輯記錄
bodelphi 重新編輯於 2010-11-16 04:51:00, 註解 無‧
bodelphi 重新編輯於 2010-11-16 04:56:56, 註解 無‧
ac910127
一般會員


發表:7
回覆:27
積分:11
註冊:2009-11-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-11-17 09:43:20 IP:124.219.xxx.xxx 訂閱
您好
根據您的宣告,str0,str1均為全局變量, 可是在"可見度"上有一些差別。

str0(implementation上面) : 只要有引用Unit2的單元(包含本身)均可使用此變量

str1(implementation下面) : 可見度只限於Unit2任何地方均可以使用他。

以上為小弟小小的見解,若有錯誤,煩請前輩更正指導。

===================引 用 bodelphi 文 章===================
unit unit2;
interface
//声明全局变量,由unit1.pas来引用
var
str0:ansistring;
implementation
var
str1:ansistring='這是一個全局變量還是一個局部變量';
begin
end.
//-------------------------------------------------------------------------------------
{請問這里的str1是一個全局變量嗎?如果是全局變量,為什么在其它單元,例如unit1.pas引用時會出現變量未定義,而在引用str0這個全局變量時沒有出錯?;如果不是一個全局變量,那為什么str1可以在定義時賦予初始值?不是說局部變量不能被初始化嗎?,請大家解答一下,十分感謝!}
編輯記錄
ac910127 重新編輯於 2010-11-16 18:45:15, 註解 無‧
bodelphi
一般會員


發表:5
回覆:4
積分:1
註冊:2008-09-29

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-11-17 11:51:39 IP:119.191.xxx.xxx 訂閱
謝謝您的解疑釋惑!非常感謝
系統時間:2024-05-08 4:05:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!