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

C言語で変数のスコープを説明します。


ストレージクラスは、変数のスコープ、有効期間、およびバインディングを指定します。

変数を完全に定義するには、その「型」だけでなく、そのストレージクラスについても言及する必要があります。

変数名は、変数の値を格納するためにビットのコレクションが割り当てられる、コンピュータメモリ内の物理的な場所を識別します。

ストレージクラスは次の要素を教えてくれます

  • 変数はどこに(メモリまたはCPUレジスタに)格納されますか?
  • 何も初期化されていない場合、変数の初期値はどうなりますか?
  • 変数のスコープ(アクセスできる場所)は何ですか?
  • 変数の寿命はどれくらいですか?

スコープ

スコープは、オブジェクトの可視性を定義します。オブジェクトにアクセスできる場所を定義します。

スコープ変数はローカルまたはグローバルです

  • ブロック内で定義された変数にはローカルスコープがあります。それらは、それらが定義されているブロックにのみ表示されます。
  • グローバル領域で定義された変数は、それらの定義からプログラムの終了まで表示されます。プログラムのどこにでも表示されます。

以下は、変数のスコープのCプログラムです-

#include<stdio.h>
int c= 30; /* global area */
main ( ) {
   int a = 10; //local scope//
   printf ("a=%d,c=%d"a,c);
   fun ( );
}
fun ( ){
   printf ("c=%d",c); //global variable
}

出力

上記のプログラムを実行すると、次の出力が生成されます-

a =10, c = 30
c = 30

以下は、ローカル変数とグローバル変数のCプログラムです-

#include<stdio.h>
int a,b;
a=1,b=2;
main() {
   int c,d;
   printf("enter c and d values:");
   scanf("%d%d",&c,&d);
   c=c+d; //local variables
   b=a*b; //global variables
   printf("c value is:%d\n",c);
   printf("b value is:%d\n",b);
}

出力

上記のプログラムを実行すると、次の出力が生成されます-

enter c and d values:4 7
c value is:11
b value is:2

  1. ネストされたif-elseステートメントをC言語で説明する

    「ネストされたif」は、if(または)elseのいずれかのオブジェクトであるifステートメントです。 「if」は別のif(または)elseの中に配置されます。 構文 以下の構文を参照してください- if (condition1){    if (condition2)       stmt1;    else       stmt2; } else{    if (condition3)       stmt3;    el

  2. C言語で「simpleif」ステートメントを説明する

    「if」キーワードは、論理条件が真の場合に一連のステートメントを実行するために使用されます。 構文 構文は以下のとおりです- if (condition){    Statement (s) } 「simpleif」ステートメントの機能 ifブロック内のステートメントは、条件がtrueの場合にのみ実行され、それ以外の場合は実行されません。 条件がtrueのときに1つのステートメントのみを実行する場合は、中括弧({})を削除できます。一般に、実行するステートメントが1つしかない場合でも、中括弧は省略しないでください。 条件がtrueの場合、複数のステ