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

C ++での定義と宣言の違いは何ですか?


C ++では、宣言と定義が混同されることがよくあります。宣言とは、(Cで)型、サイズ、および関数宣言の場合は任意の変数のパラメーターの型とサイズ、またはプログラム内のユーザー定義の型または関数についてコンパイラーに通知することを意味します。宣言の場合、どの変数のためにもメモリにスペースが予約されていません。

一方、定義は、宣言が行うすべてのことに加えて、スペースがメモリに追加で予約されることを意味します。 「定義=宣言+スペース予約」と言うことができます。

以下は宣言の例です-

extern int a;                           // Declaring a variable a without defining it
struct _tagExample { int a; int b; };   // Declaring a struct
int myFunc (int a, int b);              // Declaring a function

以下は定義の例です-

int a;
int b = 0;
int myFunc (int a, int b) { return a + b; }
struct _tagExample example;

  1. const int *、const int * const、およびint const *の違いは何ですか?

    ここでは、整数ポインター、整数定数、および整数定数ポインターに基づくいくつかの異なるタイプの変数宣言を確認します。 それらを決定するために、時計回り/スパイラルルールを使用します。用語を話し合うことで、ルールも理解できます。 const int * 。これは、これがポインター型変数であることをコンパイラーに通知するために使用され、定数intのアドレスを格納できます。時計のルールはこのように言っています- もう1つはconstint*constです。これは、これが1つの定数ポインター変数であり、別の定数整数のアドレスを格納できることを示すために使用されます。時計のルールを適用する

  2. C#での宣言と定義の違いは何ですか?

    宣言とは、変数が宣言され、メモリが割り当てられるだけで、値が設定されないことを意味します。 ただし、定義とは、変数が初期化されていることを意味します。 同じことが変数、配列、コレクションなどにも当てはまります。 変数 変数を宣言します。 int x; 値を定義して割り当てましょう。 x = 10; 配列 配列を宣言します。 int [] n // declaring int n= new int[10]; // initializing 値を割り当てましょう。 n[0] = 100; n[1] = 200