English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 数据类型

In questo tutorial, impareremo a utilizzare i tipi di dati di base in C++ con esempi, come int, float, char, ecc.

In C++, il tipo di dati è la dichiarazione della variabile. Questo determina il tipo e la dimensione dei dati associati alla variabile. Ad esempio,

int age = 13;

Qui age è la variabile di tipo int. Questo significa che la variabile può memorizzare solo interi di 2 o 4 byte.

Tipi di dati di base in C++

La tabella seguente mostra i tipi di dati di base, il loro significato e la dimensione (in byte):

TypeParola chiaveDimensione
Booleanobool1 byte
Caratterechar1 byte
Interoint2 byte o 4 byte
Floating pointfloat4 byte
Double floating pointdouble8 byte
Tipo di dati senza tipovoid0 byte
Caratteri larghi

wchar_t

2 byte

Ora, esaminiamo più dettagliatamente questi tipi di dati di base.

1. int (intero) in C++

  • La parola chiave int viene utilizzata per rappresentare interi.

  • La sua dimensione è generalmente di 4 byte. Questo significa che può memorizzare valori daDa -2147483648 a 214748647Valore.

  • For example,

int salary = 85000;

2. float e double (float e double a virgola mobile) in C++

  • float e double vengono utilizzati per memorizzare numeri a virgola mobile (decimali ed esponenziali).

  • La dimensione di float è di 4 byte, mentre quella di double è di 8 byte. Pertanto, la precisione di double è il doppio di quella di float. Per ulteriori informazioni, consultare float e double in C++.

  • For example,

float area = 64.74;
double volume = 134.64534;

Come descritto sopra, questi due tipi di dati sono anche utilizzati per espressioni esponenziali. Ad esempio,

double distance = 45E12 // 45E12 è uguale a 45*10^12

3. char (carattere) in C++

  • La parola chiave char viene utilizzata per i caratteri.

  • La sua dimensione è di 1 byte.

  • I caratteri in C++ sono racchiusi tra virgolette singole ' '.

  • For example,

char test = 'h';

Note:In C++, i valori interi vengono memorizzati in variabili di tipo char, non i caratteri stessi.

4. wchar_t (caratteri larghi) in C++

  • wchar_t, un tipo di dati char, è simile al tipo di dati char, ma la sua dimensione è di 2 byte invece di 1 byte.

  • Usato per rappresentare caratteri che richiedono più memoria rispetto ai singoli caratteri di tipo char.

  • For example,

wchar_t test = L'ם' // Stores Hebrew characters

Note the letter L before the quotation marks.

Note:In C++ 11, two additional fixed-size character types char16_t and char32_t were also introduced.

5. C++ bool (boolean)

  • The bool data type has two possible values: true or false.

  • Boolean is used for conditional statements and loops (we will learn about them in later chapters).

  • For example,

bool cond = false;

6. C++ void (no type)

  • The void keyword means that there is no data. This means 'no' or 'no value'.

  • When we learn about functions and pointers, we will use void.

Note:We cannot declare variables of void type.

C++ type modifiers

We can use type modifiers to further modify some basic data types. There are 4 type modifiers in C++. They are:

  1. signed

  2. unsigned

  3. short

  4. long

We can use the above modifiers to modify the following data types:

  • int

  • double

  • char

List of data types modified by C++

TypeBitRange
char1 byte-128 to 127 or 0 to 255
unsigned char1 byte0 to 255
signed char1 byte-128 to 127
int4 bytes-2,147,483,648 to 2,147,483,647
unsigned int4 bytes0 to 4,294,967,295
signed int4 bytes-2,147,483,648 to 2,147,483,647
short int2 bytes-32,768 to 32,767
unsigned short int2 bytes0 to 65,535
signed short int2 bytes-32,768 to 32,767
long int4 bytes-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
signed long int8 bytes-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
unsigned long int8 bytes0 to 18,446,744,073,709,551,615
float4 bytesPrecision type occupies 4 bytes (32 bits) of memory space, +/- 3.4e +/- 38 (~7 digits)
double8 bytesDouble precision occupies 8 bytes (64 bits) of memory space, +/- 1.7e +/- 308 (~15 digits)
long double16 bytesLong double space 16 bytes (128 bits), providing 18-19 significant digits.
wchar_t2 或 4 个字节1 个宽字符

让我们看一些实例。

long b = 4523232;
long int c = 2345342;
long double d = 233434.56343;
short d = 3434233; // 错误!超出范围
unsigned int a = -5; // 错误!只能存储正数或0

派生数据类型

从基本数据类型派生的数据类型是派生类型。例如:数组,指针,函数类型,结构等。

我们将在后面的教程中了解这些派生的数据类型。