ホームページ  >  記事  >  バックエンド開発  >  C言語のステートメントブロックに関するスコープルールを説明する

C言語のステートメントブロックに関するスコープルールを説明する

WBOY
WBOY転載
2023-09-11 12:53:10678ブラウズ

C言語のステートメントブロックに関するスコープルールを説明する

スコープ ルールは、次の要素に関連しています。-

  • 変数のアクセシビリティ。
  • 変数の存在期間。
  • 変数の使用境界。

ステートメント ブロックに関連するスコープ ルールは次のとおりです。

  • ステートメント ブロックは中括弧で囲まれ、一連のステートメントが含まれます。声明。

  • ステートメント ブロック内で宣言された変数は、ブロック内でアクセスして使用できますが、ブロックの外には存在しません。

例 1

次は、ステートメント ブロックに関連するスコープ ルールに関連する C プログラムです -

デモンストレーション

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

出力

出力は次のとおりです。 -

1 2

変数がそれぞれのコード ブロックで再宣言され、同じ名前が使用されている場合でも、それらは異なるものとみなされます。

例 2

次は、ステートメント ブロックのスコープ ルールに関する別の C プログラムです。

リアルタイム デモンストレーション

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

出力

出力は次のとおりです。 −

1 2

外部ブロックと同じ名前のブロック内の変数を再宣言すると、外部ブロック変数がマスクされます。これは、内部ブロックが実行されるときに発生します。

例 3

これは、ステートメント ブロックに関連する スコープ ルールに関する別の C プログラムです

リアルタイム デモンストレーション

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

出力

出力は次のとおりです。 -

2

内部ブロックの外で宣言された変数は、内部ブロックで宣言されていない限り、ネストされたブロックでアクセスできます。

例 4

ステートメント ブロックに関連付けられたスコープ ルールを持つ別のプログラムを考えてみましょう:

デモンストレーション

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

出力

出力は次のように-

えええええ

以上がC言語のステートメントブロックに関するスコープルールを説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。