Delphiでflg:booleanを設定した際に、初期値は基本的にfalseからはじまりますが、そういう仕様(多言語も含む)なんでしょうか?
最初からflg:=trueみたいな設定する所とかあるんでしょうか?
var
Form3: TForm3;
A: Boolean = True;
implementation
{$R *.dfm}
procedure TForm3.FormCreate(Sender: TObject);
var
B: Boolean = True; //ローカル変数は初期化できない
begin
end;
変数を明示的に初期化しなかった場合の初期値については、Object Pascal言語ガイドの「変数の宣言」の章に書かれています。
> 明示的に初期化されていないグローバル変数はコンパイラによって 0 に初期化されます。
Delphi(Pascal)のBooleanは、言語仕様上は列挙型の一種で、以下のように宣言されているのと等価です。
type Boolean = (False, True);
初期値は順序値が0のものになるので、Falseが初期値ということになります。
> そういう仕様(多言語も含む)なんでしょうか?
ブール代数では真を1、偽を0で表すのが一般的ですし
一番無難な初期値として0を選ぶのもたいていの言語で共通だと思いますよ。
Object Pascal言語ガイド「変数の宣言」の章を読みます。
解りやすい説明ありがとうございました。
ネットでのQ&Aって便利なので使いこなせるようにしたいです。
ツイート | ![]() |