Cの変数
実際には、唯一の変数は、プログラムの動作ストアの名前です。 Cの各変数は、特定のタイプを有するメモリに格納することができる範囲内の値の大きさやレイアウトを格納する変数の型を決定し、オペレータは、変数に適用することができます。
変数名は、文字、数字、およびアンダーで構成することができます。 これは、文字またはアンダースコアで始まる必要があります。 Cは大文字と小文字が区別されるため、大文字と小文字は、異なっています。 前の章に基づく基本的なタイプを説明し、変数のいくつかの基本的なタイプがあります。
类型 | 描述 |
---|---|
char | 通常是一个八位字节(一个字节)。这是一个整数类型。 |
int | 对机器而言,整数的最自然的大小。 |
float | 单精度浮点值。 |
double | 双精度浮点值。 |
void | 表示类型的缺失。 |
C言語はまた、後の章で説明されるように列挙し、ポインタ、配列、構造体、共用体、等のような変数、他の種類の多様性を定義することができます、この章では、まず基本的な変数の型について説明します。
Cの変数の定義
変数の定義はどこに格納するための変数を作成するには、ストレージ変数を作成する方法をコンパイラに伝えることです。 変数定義は、データ型を指定し、次のように、種類またはそれ以上の変数のリストが含まれています。
type variable_list;
ここでは、型はchar型とすることができる有効なCのデータ型でなければなりません、w_char、int型、float型、ダブル、ブール値、または任意のユーザ定義のオブジェクト、variable_listは、複数の識別子で構成される1以上の識別子名で構成することができますカンマで区切って指定します。ここではいくつかの有効な文です:
int i, j, k; char c, ch; float f, salary; double d;
私と呼ばれるint型の変数を作成するようにコンパイラに指示宣言し、定義する変数I、JとK、J、Kの;の行はI、J、Kをint型 。
彼らは(初期値を指定して)宣言されたときに変数は初期化することができます。 以下に示すように初期化は、定数式に続いて等号、から構成されています。
type variable_name = value;
ここではいくつかの例を示します。
extern int d = 3, f = 5; // d 和 f 的声明, 这就是单纯的声明 int d = 3, f = 5; // 定义并初始化 d 和 f byte z = 22; // 定义并初始化 z char x = 'x'; // 变量 x 的值为 'x'
初期化せずに定義されている:静的記憶域期間を持つ変数は、暗黙的にNULLに初期化されます(すべての値が0バイト)、すべての変数の他の初期値は不定です。
C変数宣言
例完全な詳細を知らなくても、このようなコンパイラ変数の存在のタイプと名前を確保するために、コンパイラの変数への変数の宣言はさらに、コンパイルを続けることができます。 変数宣言は、コンパイラが実際の変数の宣言を接続する必要がある場合、コンパイル時にのみ、その意義を持っています。
2例がある変数を宣言します。
- 図1に示すように、一方が収納スペースを確立するために必要とされます。 たとえば、次のように一度に文をint型は、すでにストレージスペースを確立していました。
- 図2は、もう一方はそれを定義しない変数名を宣言するのexternキーワードを使用して、記憶空間を確立する必要があります。 たとえばます。extern int型Aれる変数は、別のファイルで定義することができます。
- 別途定義されない限りはexternキーワードは可変です。
extern int i; //声明,不是定义 int i; //声明,也是定义
例
変数が頭の中で宣言されている以下の実施例が、主な機能の定義と初期化を試してみてください。
#include <stdio.h> // 变量声明 extern int a, b; extern int c; extern float f; int main () { /* 变量定义 */ int a, b; int c; float f; /* 初始化 */ 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
左の値(左辺値)と正しい値でC(右辺値)
C式の2種類があります。
- 左の値(左辺値):メモリ位置を指しているが、左側の式の値(左辺値)式と呼ばれています。左辺値は、代入の左または右に表示されることがあります。
- 右辺値(右辺値):用語右辺値(右辺値)は、メモリに格納されたアドレスの一部の値をいいます。その値は、それは、正しい値が代入の右側に表示されることができると言うことである割り当てられた権利表現ではなく、代入の左辺に置くことはできません。
変数の値が残っている、それは割り当ての左側に表示されることがあります。 数値リテラルは正しい値であるため、それは代入の左辺に置くことはできません割り当てることはできません。 以下は、有効な文です:
int g = 20;
以下は、有効な文ではありません。しかし、それはコンパイル時エラーが生成されます。
10 = 20;