Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語のさまざまなストレージクラス


問題

C言語のさまざまなストレージクラスとは何ですか?プログラムで説明しますか?

解決策

ストレージクラスは、Cプログラム内に存在する変数または関数のスコープと存続期間として定義されます。

ストレージクラス

以下は、Cのストレージクラスです-

  • 自動
  • 外部
  • 静的
  • 登録

自動変数/ローカル変数

  • キーワード −自動
  • これらはローカル変数とも呼ばれます
  • 範囲
    • ローカル変数のスコープは、それらが宣言されているブロック内で使用できます。

    • これらの変数はブロック内で宣言されます

  • デフォルト値 −ガベージバリュー

#include<stdio.h>
void main (){
   auto int i=1;{
      auto int i=2;{
         auto int i=3;
         printf ("%d",i);
      }
      printf("%d", i);
   }
   printf("%d", i);
}

出力

3 2 1

グローバル変数/外部変数

  • キーワード − extern
  • これらの変数はブロック外で宣言されるため、グローバル変数とも呼ばれます

  • 範囲 −グローバル変数のスコープはプログラム全体で利用できます。

  • デフォルト値 −ゼロ

#include<stdio.h>
extern int i =1; /* this ‘i’ is available throughout program */
main (){
   int i = 3; /* this ‘i' available only in main */
   printf ("%d", i);
   fun ();
}
fun (){
   printf ("%d", i);
}

出力

31

静的変数

  • キーワード −静的
  • 範囲 −静的変数のスコープは、プログラム全体および関数呼び出しの間にその値を保持することです。
  • 静的変数は1回だけ初期化されます。
  • デフォルト値 −ゼロ

#include<stdio.h>
main (){
   inc ();
   inc ();
   inc ();
}
inc (){
   static int i =1;
   printf ("%d", i);
   i++;
}

出力

1    2    3

変数の登録

  • キーワード −登録
  • レジスタ変数の値は、通常の変数が格納されているメモリではなく、CPUレジスタに格納されます。

  • レジスタはCPUの一時的なストレージユニットです。

#include<stdio.h>
main (){
   register int i;
   for (i=1; i< =5; i++)
      printf ("%d",i);
}

出力

1 2 3 4 5

  1. C言語で使用されるさまざまな演算子と式は何ですか?

    オペレーターはデータに対して操作を実行します。それらは以下に分類されます- 算術演算子。 関係演算子。 論理演算子。 代入演算子。 インクリメントおよびデクリメント演算子。 ビット演算子。 条件演算子。 特別な演算子。 算術演算子 これらの演算子は、数値計算(または)に使用され、加算、減算などの算術演算を実行します。 オペレーター 説明 例 a =20、b =10 出力 + 追加 a + b 20 + 10 30 - 減算 a-b 20-10 10 * 乗算 a * b 20 * 10 200 / 分割 a

  2. C言語でのさまざまな検索手法は何ですか?

    検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /