ヒント:記事を書いた後、目次を自動的に生成できます。生成方法については、右側のヘルプドキュメントを参照してください。
序文
学習コンテンツを整理します。
C言語の基本的なデータ型
1.ユニット
基本的なデータ型について説明する前に、まずコンピューターのストレージユニットを理解する必要があります。
まず、コンピュータは論理回路で構成されています。論理回路には通常、スイッチのオンとオフの2つの状態しかありません。これらの2つの状態は、「1」と「0」で表すことができます。したがって、コンピューターはバイナリストレージ情報を使用します。バイナリビットに含まれる情報の量はビットと呼ばれ、ビットは情報の最小単位です。
次に、小さいものから大きいものまで、他のストレージユニットについて説明しましょう。
1Byte=8Bit 表示范围 :2^n(n代表比特位数),也就是0~255个无符号整数 or -128~127个有符号整数
1KB=1024Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
1バイト(バイト)の表現範囲をわかりやすく説明し、以下の8つの2進数(下位から上位、1ビットは1つの2進数を表す)を観察します。上部は00000000、下部は00000001です。 、これは2つの状態を意味します。各ビットの状態は0または1しかないため、順列と組み合わせに応じて2つの状態があります-> 1つの2進数、2つの2進数に対して4つの状態、3ビットに対して8つの状態このタイプの質問の場合、8ビット2進数数値には2 ^ 8の状態があり、0から始まるため、表現できる符号なしの数値は0〜255です。
00000000
00000001
2.基本的なデータ型
次に、データ型について説明します。C言語の基本的なデータ型は次のとおりです。
基本数据类型 大小 表示范围
char //字符数据类型 1Byte 0~2^8-1个无符号数
short //短整型 2Byte 0~2^16-1个无符号数
int //整形 4Byte 0~2^32-1个无符号数 C中整数默认为int型
long //长整型 4Byte 0~2^32-1个无符号数 (不同的系统和编译器的大小可能会是8Byte)
long long //更长的整形 8Byte 0~2^64-1个无符号数
float //单精度浮点型 4Byte 0~2^32-1个无符号数
double //双精度浮点型 8Byte 0~2^32-1个无符号数 C中浮点数默认为double型
整数変数(デフォルトでは符号付き)の場合、符号なし(符号なし数値)、符号付き(符号付き数値)を使用して変更できます。例えば:
unsigned char a = 128;
を印刷してsizeof(类型名)
、データ型のサイズを取得することもできます。例えば:
#include<stdio.h>
int main()
{
printf("char的大小是%d个字节\n", sizeof(char));
printf("int的大小是%d个字节\n", sizeof(int));
printf("long的大小是%d个字节\n", sizeof(long));
printf("long long的大小是%d个字节\n", sizeof(long long));
printf("float的大小是%d个字节\n", sizeof(float));
printf("double的大小是%d个字节\n", sizeof(double));
return 0;
}
32ビットVS2017で実行されている上記のコードの結果は次のとおりです。
他のプログラミング言語を研究した友人は、上記のデータ型が文字列型(文字列)に言及していないことに気付くかもしれませんが、C言語は文字列を表すことができますか?答えは「はい」です。C言語ではchar 字符串名[]= "字符串内容"
、文字列は->で定義されます。
3.なぜこんなにたくさんの種類があるのですか?
- オブジェクトが異なるため、データ型が異なるほど代表的です。
- 各データ型のサイズと表現範囲が異なり、各型に異なるスペースが割り当てられているため、スペースを節約するという目的を達成できます。
- コンピュータの保存と処理に便利です。
4.printf()転送パラメータ
printfがパラメーターを渡す場合、プラスチックの場合、デフォルトで4バイトで渡されます。printfは可変パラメーター関数であるため、後続のパラメーターのタイプは不明です。したがって、どのタイプを渡しても、printfは依存するだけです。タイプでは、2つの異なる長さで格納されます。その中で、8バイトはlong long、floatおよびdoubleのみであり(floatはdoubleとして処理されてから渡されることに注意してください)、他のタイプはすべて4バイトです。したがって、a + bの型はcharですが、実際には4バイト整数で受信されます。さらに、読み取る場合、%lldや%llxなどの整数メソッドと%fや%lfなどの浮動小数点メソッドは8バイトを読み取り、その他のメソッドは4バイトを読み取ります。
総括する
上記は、C言語の基本的なデータ型について要約したメモの一部です。欠陥の補足的な修正を歓迎します。