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

変数、そのタイプ、およびC++のスコープ


C ++の各変数には特定のタイプがあり、変数のメモリのサイズとレイアウトを決定します。そのメモリ内に格納できる値の範囲。変数に適用できる一連の操作。表記-

を使用して変数を宣言します
type variableName;

型は、プリミティブ(int、bool、float、charなど)、列挙型、別の型へのポインター、またはデータ構造またはクラスのいずれかによって定義されたより複雑な型にすることができます。

可変スコープ

スコープはプログラムの領域であり、大まかに言えば、変数を宣言できる場所は3つあります-

  • ローカル変数と呼ばれる関数またはブロックの内部
  • 仮パラメータと呼ばれる関数パラメータの定義。
  • グローバル変数と呼ばれるすべての関数の外。

ローカル変数は、その関数またはコードブロック内にあるステートメントでのみ使用できます。ローカル変数は、それ自体で機能することは知られていません。

#include <iostream>
using namespace std;
int main () {
   // Local variable declaration:
   int a, b;
   int c;

   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
 
   cout << c;
   return 0;
}
出力 これにより出力が得られます-

30

グローバル変数は、すべての関数の外部、通常はプログラムの上で定義されます。グローバル変数は、プログラムの存続期間を通じてその値を保持します。グローバル変数には、任意の関数からアクセスできます。

#include <iostream>
using namespace std;
 
// Global variable declaration:
int g;
 
int main () {
   // Local variable declaration:
   int a, b;
 
   // actual initialization
   a = 10;
   b = 20;
   g = a + b;
 
   cout << g;
   return 0;
}
出力

これにより、出力が得られます-

30

プログラムはローカル変数とグローバル変数に同じ名前を付けることができますが、関数内のローカル変数の値が優先されます。同じrameでグローバル変数にアクセスするには、スコープ解決演算子を使用する必要があります。

#include <iostream>
using namespace std;
 
// Global variable declaration:
int g = 20;
 
int main () {
   // Local variable declaration:
   int g = 10;
 
   cout << g;   // Local
   cout << ::g; // Global
   return 0;
}
出力

これにより、出力が得られます-

10
20

  1. C++で重複する円と長方形

    (radius、xc、yc)として表される円があると仮定します。ここで、(xc、yc)は円の中心座標です。また、(x1、y1、x2、y2)として表される軸に沿った長方形があります。ここで、(x1、y1)は左下隅の座標であり、(x2、y2)は右上隅の座標です。長方形の角。円と長方形が重なっていないか確認する必要があります。 したがって、入力が次のような場合 そうすれば、出力は真になります。 これを解決するには、次の手順に従います- 関数eval()を定義します。これには、a、b、c、が必要です。 bの最大値とaとcの最小値を返します メインの方法から、次のようにしま

  2. フリップフロップの種類とC++での変換

    フリップフロップはシーケンシャルデジタル回路です。フリップフロップにはいくつかの種類があります。ここでは、フリップフロップのタイプと、あるフリップフロップから別のフリップフロップへの変換ルールを確認します。 フリップフロップには基本的に4つのタイプがあります- SRフリップフロップ Dフリップフロップ JKフリップフロップ Tフリップフロップ SRフリップフロップ SRフリップフロップは、正のクロック遷移または負のクロック遷移のみで動作します。一方、SRラッチはイネーブル信号で動作します。 SRフリップフロップの回路図を次の図に示します。 この回路には、2つの入力SとR、および