C 言語の変数とデータ型について話す

変数 (変数)
現実の生活では、アイテムを保管するための小さな箱を見つけることになりますが、第一に、見た目がそれほど乱雑にならないこと、第二に、後で見つけるのが便利であることです。コンピュータでも同様で、最初にメモリ内の領域を見つけて、その領域に整数の格納に使用することを規定し、その後の検索を容易にするために覚えやすい名前を付ける必要があります。この領域は「小さなボックス」であり、整数を入れることができます。

C 言語では、次のようにメモリ内の領域を見つけます:
int a;
int も新しい単語で、整数を意味する Integer の略語です。a はこの領域に付けた名前ですが、もちろん、abc、mn123 などの他の名前で呼ぶこともできます。

このステートメントの意味は次のとおりです。メモリ内で領域を見つけ、それに a という名前を付け、それを整数の格納に使用します。
int と a の間にはスペースがあり、これらは 2 つの単語であることに注意してください。最後のセミコロンにも注意してください。int a は完全な意味を表し、ステートメントであり、セミコロンで終わる必要があります。
しかし、 int a; は整数を格納できるメモリ領域を見つけるだけなので、そこに 123、100、999 などの数値を入れるにはどうすればよいでしょうか?

C 言語では、次のように整数をメモリに置きます:
a=123;
= は数学で「等号」と呼ばれる新しい記号です (たとえば 1+2=3) が、C 言語ではこの処理を代入 (Assign) と呼びます。割り当てとは、データをメモリに配置するプロセスを指します。

上記の 2 つのステートメントを接続します:
int a;
a=123;
a というメモリ領域に 123 を置きます。int
a=123;
a の整数は静的ではなく、必要な限りいつでも変更できます。変更する方法は、再度代入することです (例:
int a=123;
a=1000;
a=9999;
2 番目の代入により、最初のデータが上書き (消去) されます。つまり、a の最後の値は 9999、123、1000 は存在しなくなり、再び見つけることはできなくなります。

a の値は変更できるため、変数というわかりやすい名前を付けます。

int a; 変数 a を作成し、これをプロセス変数定義と呼びます。a=123; 変数 a に 123 を渡す、このプロセスを変数に値を割り当てると呼びます; これは最初の代入であるため、変数の初期化、または初期値の代入とも呼ばれます。

最初に変数を定義してから初期化することもできます (例:
int abc;
abc=999;)
また、定義中に初期化することもできます (例:
int abc=999;)
これら 2 つのメソッドは同等です。
データの種類 (Data Type)
データはメモリに格納されており、変数とはそのメモリに付けられた名前であり、変数を使用することでこのデータを見つけて利用することができます。しかし、問題はそれをどのように使用するかです。

数字、テキスト、記号、グラフィックス、オーディオ、ビデオなどのデータはバイナリ形式でメモリに格納されており、それらの間に本質的な違いはありません。では、00010000 は数字の 16 として理解すべきでしょうか、画像内の特定のピクセルの色として理解すべきでしょうか、それとも特定の音を発すべきなのでしょうか? 明記されていない場合は分かりません。

つまり、メモリ内のデータには複数の解釈方法があり、使用前に決定する必要があります; 上記の int a; は、このデータが整数であり、ピクセルやサウンドなどとして理解できないことを示します。int にはデータ型 (Data Type) という専門的な名前が付いています。

名前が示すように、データ型はデータの種類を記述し、データがどのように解釈されるかを決定するために使用され、コンピューターやプログラマーがあいまいにならないようにします。C 言語には、たとえば、次のような多くのデータ型があります:
説明 文字型 short integer 型 long integer 型 単精度浮動小数点型 倍精度浮動小数点型 untyped
データ型 char short int long float double void
これらは、C 言語に付属する最も基本的なデータ型です。必要に応じて、これらを使用してより複雑なデータ型を作成することもできます。後で 1 つずつ説明します。
複数の変数の連続定義
プログラムの記述をより簡潔にするために、C 言語は複数の変数の連続定義をサポートしています (例:
int a, b, c;
float m = 10.9, n = 20.56;
char p, q = '@';
連続して定義される複数の変数はカンマで区切られ、同じデータ型である必要があります。変数は初期化することも初期化することもできません)。
データ長 (Length)
いわゆるデータ長 (Length) は、データが何バイトを占めるかを指します。占有バイト数が多いほど、より多くのデータを保存でき、数値の場合、値は大きくなります。そうでない場合、保存できるデータは制限されます。

メモリ上には複数のデータが明確な境界もなく連続して格納されているため、データの長さが明確に指定されていないと、コンピュータはアクセスがいつ終了するかわかりません。たとえば、4 バイトのメモリを占有する整数 1000 を保存しますが、それを読み取ると、3 バイトまたは 5 バイトを占有すると考えますが、これは明らかに誤りです。

したがって、変数を定義するときにデータの長さも指定する必要があります。そして、これはまさにデータ型のもう 1 つの役割です。データ型は、データがどのように解釈されるかを示すだけでなく、データの長さも示します。C 言語では各データ型が占めるバイト数が決まっているため、データ型がわかればデータの長さもわかります。

32 ビット環境では、各データ型の長さは一般に次のとおりです:
文字型 short integer 型 long integer 型 単精度浮動小数点型 倍精度浮動小数点型
データ型 char short int long float double
length 1 2 4 4 4 8
C 言語にはデータ型がいくつあり、それぞれのデータ型の長さとその使い方は、C プログラマーが必ずマスターしなければならない内容であり、後で 1 つずつ説明します。
最終まとめ
データはメモリに保存される メモリ内のデータにアクセスするには、データの保存場所、データの長さ、データの処理方法という 3 つのことを明確にする必要があります。

変数名は覚えやすいデータの名前であるだけでなく、データがどこに保存されているかを示すものでもあり、データを使用する際には変数名を指定するだけでよく、データ型はデータの長さや処理方法を示します。したがって、int n;、char c;、floatmoney; などの形式によって、メモリ内のデータのすべての要素が決まります。

C 言語が提供するさまざまなデータ型により、プログラムの柔軟性と効率が向上しますが、学習コストも増加します。また、PHP、JavaScript などの一部のプログラミング言語では、変数を定義するときにデータ型を指定する必要がなく、コンパイラが割り当てに従って自動的にデータ型を推測するため、よりインテリジェントになります。

C言語以外にもJava、C++、C#などでは変数を定義する際にデータ型を指定する必要があり、このようなプログラミング言語を強く型付けされた言語と呼びます。しかし、PHPやJavaScriptなどでは、変数を定義する際にデータ型を指定する必要がなく、コンパイルシステムが自動的に推測してくれるため、このようなプログラミング言語を弱い型付け言語と呼びます。

おすすめ

転載: blog.csdn.net/D0126_/article/details/131449863