C言語の基本的なデータ型について話す

ヒント:記事を書いた後、目次を自動的に生成できます。生成方法については、右側のヘルプドキュメントを参照してください。


序文

学習コンテンツを整理します。

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.なぜこんなにたくさんの種類があるのですか?

  1. オブジェクトが異なるため、データ型が異なるほど代表的です。
  2. 各データ型のサイズと表現範囲が異なり、各型に異なるスペースが割り当てられているため、スペースを節約するという目的を達成できます。
  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言語の基本的なデータ型について要約したメモの一部です。欠陥の補足的な修正を歓迎します。

おすすめ

転載: blog.csdn.net/weixin_47460769/article/details/111354068