FreeBASIC マニュアルのトップに戻る

FreeBASIC ProPgStorageClasses

目次→教本→プログラマーのための案内Storage Classes←オリジナル・サイト

記憶域クラス 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

変数、オブジェクト、配列の、可視性と存続期間

変数、オブジェクト、配列の記憶域クラスは、いつ、どこにメモリを割り当てるか、そして、いつそのメモリを無効にするかを、決定します。
FreeBASIC に、2つの記憶域クラスがあります: 自動静的

自動

自動 の、変数、オブジェクト、配列の寿命は、宣言の時点で始まって、それらが宣言された範囲から出るとき、終わります。

自動 の、実体は、それらが宣言されたブロックの、各インスタンスのために、固有の記憶域を持つことを保証されます。
例えば、手続きの中で宣言された 自動 の変数は、異なったアドレスに割り当てられて、 手続きで、各々の呼び出しのために、固有の状態(値)を持っています。

自動 の、変数、オブジェクト、配列は、Shared 指定子を持たない、DimRedimVar キーワードを使って、定義されます。

自動 の、変数、オブジェクト、配列のための記憶域は、プログラム・スタックの上に、割り当てられます。

自動 の、変数、オブジェクト、および配列には、リンケージが全くありません。

静的

静的 な、変数、オブジェクト、配列の、存続期間は、プログラム作成で始まって、プログラム終了処理で終わります。

静的 な実体は、それらが宣言されるブロックの、各インスタンスのために、同じ記憶域を持つことを、保証されます。
例えば、手続きの中で宣言された 静的 な変数は、手続きへの各呼び出しを通して、同じアドレスに割り当てられて、それらの状態(値)を保有します。

静的 な、変数、オブジェクト、配列は、Static キーワードを使って、宣言されます。
Shared 指定子を使って宣言された実体は、黙示的に、static です。
Shared 指定子を使って宣言された手続きの中で宣言された、すべての実体も、また、黙示的に static です。

静的 な、変数、オブジェクト、配列のためのメモリは、定義されるとき初期化されるなら、実行ファイルの .BSS 部に割り当てられるか、または、.DATA 部に割り当てられます。
静的 な、可変長配列は、空の添字範囲リストで、空と宣言しなければなりません。
それらの要素データは、リサイズされるとき、まだ自由な貯蔵部に割り当てられています。しかし、内部の配列データは、要素データが、プログラム実行の間を通して持続できる、実行ファイルの .DATA 部に、割り当てられます。

静的 な、変数、オブジェクト、配列は、前もって、ExternCommon キーワードを使って宣言されないかぎり、デフォルトで内部結合を持っています。

プラットホーム差:
QBからの違い:
参照:
プログラマーのための案内に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2016-04-01 07:53:26
日本語翻訳:WATANABE Makoto、原文著作者:LaananFisher

ホームページのトップに戻る

表示-非営利-継承