変数の名前は、文字、数字、およびアンダースコア文字で構成できます。 それは、文字またはアンダースコアのいずれかで始まる必要があります。 Cでは大文字と小文字が区別されるため、大文字と小文字は区別されます。 前の章で説明した基本タイプに基づいて、次の基本的な変数タイプがあります。
Sr.No. | Type & Description |
---|---|
1 |
char
Typically a single octet(one byte). This is an integer type.
|
2 |
int
The most natural size of integer for the machine.
|
3 |
float
A single-precision floating point value.
|
4 |
double
A double-precision floating point value.
|
5 |
void
Represents the absence of type.
|
Cの変数定義
変数定義は、変数の作成場所と量をコンパイラに指示します。 変数定義はデータ型を指定し、その型の1つ以上の変数のリストを以下のように含んでいます -
type variable_list;
ここで、type は、char、w_char、int、float、double、bool、または任意のユーザ定義オブジェクトを含む有効なCデータ型でなければなりません。 variable_listは、コンマで区切られた1つ以上の識別子名で構成されます。 いくつかの有効な宣言がここに示されています -
int i, j, k; char c, ch; float f, salary; double d;
線int i、j、k; 変数i、j、kを宣言して定義します。 コンパイラにint型のi、j、およびkという名前の変数を作成するよう指示します。
変数は宣言で初期化(初期値に割り当てられます)できます。 イニシャライザは等号とそれに続く定数式で構成されます。
type variable_name = value;
いくつかの例は -
extern int d = 3, f = 5; // declaration of d and f. int d = 3, f = 5; // definition and initializing d and f. byte z = 22; // definition and initializes z. char x = 'x'; // the variable x has the value 'x'.
イニシャライザのない定義の場合:静的な記憶期間を持つ変数は暗黙的にNULLで初期化されます(すべてのバイトは値0を持ちます)。他のすべての変数の初期値は未定義です。
Cでの変数宣言
変数宣言は、与えられた型と名前を持つ変数が存在するということをコンパイラに保証します。そのため、コンパイラは変数に関する完全な詳細を要求せずにさらにコンパイルを進めることができます。変数定義はコンパイル時に意味を持ち、コンパイラはプログラムをリンクするときに実際の変数定義を必要とします。
変数宣言は、複数のファイルを使用していて、プログラムのリンク時に使用できるファイルの1つに変数を定義するときに便利です。キーワードexternを使用して、任意の場所で変数を宣言します。 Cプログラムで変数を複数回宣言することはできますが、ファイル、関数、コードブロックでは1回しか定義できません。
例
次の例を試してください。ここでは、変数は先頭に宣言されていますが、main関数内で定義され、初期化されています。
#include <stdio.h> // Variable declaration: extern int a, b; extern int c; extern float f; int main () { /* variable definition: */ int a, b; int c; float f; /* actual initialization */ a = 10; b = 20; c = a + b; printf("value of c : %d \n", c); f = 70.0/3.0; printf("value of f : %f \n", f); return 0; }上記のコードをコンパイルして実行すると、次の結果が生成されます。
value of c : 30 value of f : 23.333334
同じ概念が関数宣言に適用され、宣言時に関数名を指定し、その実際の定義を他の場所に与えることができます。 例えば -
// function declaration int func(); int main() { // function call int i = func(); } // function definition int func() { return 0; }Cの Lvalues と Rvalues
C言語には2種類の表現があります。
lvalue - メモリ位置を参照する式は、「左辺」式と呼ばれます。 左辺値は、割り当ての左辺または右辺のいずれかとして表示されます。
rvalue - rvalueという用語は、メモリ内のあるアドレスに格納されているデータ値を指します。 右辺値は値が割り当てられない式です。つまり、左辺には右辺が表示され、左辺には右辺が表示されません。
変数は左辺値なので、代入の左側に表示されることがあります。 数値リテラルは右辺値なので、左辺には表示されません。 次の有効な文と無効な文を見てください。
int g = 20; // valid statement 10 = 20; // invalid statement; would generate compile-time error
No comments:
Post a Comment