Über die grundlegenden Datentypen der C-Sprache sprechen

Tipp: Nachdem der Artikel geschrieben wurde, kann das Inhaltsverzeichnis automatisch generiert werden. Informationen zum Generieren finden Sie im Hilfedokument auf der rechten Seite


Vorwort

Lerninhalte sortieren.

Grundlegende Datentypen in C-Sprache

1 Einheit

Bevor wir über die grundlegenden Datentypen sprechen, müssen wir zunächst die Speichereinheit des Computers verstehen.
Erstens besteht ein Computer aus Logikschaltungen. Die Logikschaltung hat normalerweise nur zwei Zustände, das Ein- und Ausschalten des Schalters. Diese beiden Zustände können durch "1" und "0" dargestellt werden. Daher verwendet der Computer binäre Speicherinformationen. Die in einem Binärbit enthaltene Informationsmenge wird als Bit bezeichnet, und ein Bit ist die kleinste Informationseinheit.
Lassen Sie uns als Nächstes über andere Speichereinheiten von klein bis groß sprechen.

 1Byte=8Bit  表示范围 :2^n(n代表比特位数),也就是0~255个无符号整数 or -128~127个有符号整数
 1KB=1024Byte   
 1MB=1024KB
 1GB=1024MB
 1TB=1024GB
 1PB=1024TB

Erklären Sie den Darstellungsbereich von 1 Byte (Byte) auf leicht verständliche Weise und beachten Sie die folgenden acht Binärzahlen (von niedrig nach hoch, 1 Bit steht für 1 Binärzahl), die obere ist 00000000 und die untere ist 00000001 Was zwei Zustände bedeutet. Da der Zustand jedes Bits nur 0 oder 1 ist, gibt es je nach Permutation und Kombination zwei Zustände -> 1 Binärzahl, 4 Zustände für 2 Binärzahlen und 8 Zustände für 3 Bits. Für diese Art von Frage 8- Bit-Binärzahl Es gibt 2 ^ 8 Zustände für eine Zahl. Da sie bei 0 beginnt, ist die vorzeichenlose Zahl, die sie darstellen kann, 0 ~ 255.

00000000
00000001

2. Grundlegende Datentypen

Lassen Sie uns als Nächstes über Datentypen sprechen. Die grundlegenden Datentypen in der Sprache C lauten wie folgt:

基本数据类型						     大小        表示范围
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型

Für ganzzahlige Variablen (standardmäßig vorzeichenbehaftet) können Sie vorzeichenlose (vorzeichenlose Nummer) und vorzeichenbehaftete (vorzeichenbehaftete Nummer) Änderungen vornehmen. Z.B:

 unsigned char a = 128;

Wir können sizeof(类型名)die Größe des Datentyps auch durch Drucken ermitteln . Z.B:

#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;
}

Die Ergebnisse des obigen Codes, der in 32-Bit-VS2017 ausgeführt wird, lauten wie folgt:
Fügen Sie hier eine Bildbeschreibung ein

Freunde, die andere Programmiersprachen studiert haben, stellen möglicherweise fest, dass in den oben genannten Datentypen kein Zeichenfolgentyp (Zeichenfolge) erwähnt wird. Kann die Sprache C also Zeichenfolgen darstellen? Die Antwort lautet Ja. In der Sprache C wird char 字符串名[]= "字符串内容"eine Zeichenfolge durch -> definiert.

3. Warum gibt es so viele Typen?

  1. Denn für verschiedene Objekte sind verschiedene Datentypen repräsentativer.
  2. Da die Größe und der Darstellungsbereich jedes Datentyps unterschiedlich sind und jedem Typ unterschiedliche Leerzeichen zugewiesen sind, kann der Zweck der Speicherplatzersparnis erreicht werden.
  3. Es ist praktisch für die Speicherung und Verarbeitung von Computern.

4.printf () Übertragungsparameter

Wenn printf Parameter übergibt, wenn es plastisch ist, werden standardmäßig vier Bytes übergeben. Da printf eine variable Parameterfunktion ist, ist der Typ der nachfolgenden Parameter unbekannt. Unabhängig davon, welchen Typ Sie übergeben, wird printf nur abhängig Auf dem Typ wird es in zwei verschiedenen Längen gespeichert. Unter diesen sind 8 Bytes nur lang, float und double (beachten Sie, dass float als double verarbeitet und dann übergeben wird), und die anderen Typen sind alle 4 Bytes. Obwohl der Typ von a + b char ist, wird er tatsächlich mit einer 4-Byte-Ganzzahl empfangen. Außerdem lesen beim Lesen ganzzahlige Methoden wie% lld und% llx und Gleitkomma-Methoden wie% f und% lf 8 Bytes und andere 4 Bytes.

um zusammenzufassen

Im Folgenden sind einige der Hinweise aufgeführt, die ich zu den grundlegenden Datentypen der C-Sprache zusammengefasst habe. Wir begrüßen zusätzliche Korrekturen für Mängel!

Ich denke du magst

Origin blog.csdn.net/weixin_47460769/article/details/111354068
Empfohlen
Rangfolge