次の方法で共有


C のストレージ クラス

項目 「グローバルに」または 「ローカル」有効期間があるかどうかの変数 「ストレージ クラス」を判定します。C を呼び出しています。これらの有効期間 「 Static 」および 「自動」グローバル有効期間の項目はプログラムの実行中に値があります。すべてのグローバル関数になります。

実行制御が定義されているブロックに渡されるたびにローカルの有効期間の自動変数または変数は割り当てられた新しいストレージです。実行が返されると変数に対して有効な値がありません。

15 では次のストレージ クラスの指定子が用意されています :

構文

  • ストレージ クラス指定子 :
    自動

    登録

    static

    extern

    typedef

    __declspec 拡張区分の解除 ( 秘密 seq 修飾子 )/* */Microsoft 固有の仕様→

__declspec を除き宣言の 宣言指定子 で 1 人の ストレージ クラス指定子のみ 使用できます。ストレージ クラスの指定を行うブロック内の宣言ではオブジェクトを作成します。

自動 または 登録 の指定子で宣言されたローカル項目になります。 静的 または extern の指定子で宣言されている項目のグローバルなります。

typedef と __declspec から他の 4 の ストレージ クラス指定子 と終了意味が異なりますが個別に説明します。typedef の特定の情報についてはtypedef 宣言 を参照してください。__declspec の特定の情報については拡張ストレージ クラス属性 を参照してください。

ソース ファイル内の変数と関数宣言の配置はストレージ クラスと表示に影響します。すべての関数定義の外部で宣言は 「外部レベルで指定と呼ばれます」。関数定義で宣言は「 internal 」レベルに表示されます。

各ストレージ クラスの指定子の厳密な意味は 2 個の要素によって決まります :

  • 宣言は外部または内部レベルに表示するかどうか

  • 宣言された項目は変数または関数であるかどうか

ストレージ クラス指定子が 変数を省略すると 外部レベルの宣言のストレージ クラスの指定子内部レベルの宣言のストレージ クラスの指定子 はそれぞれの宣言でターミナル ストレージ クラス指定子 について説明し既定の動作について説明します。関数宣言のストレージ クラスの指定子 は関数で使用されるストレージ クラスの指定子について説明します。

参照

概念

宣言と型