Latest web development tutorials

Les types de données C

Dans le langage C, type de données se réfère à un large éventail de systèmes de variables ou de déclaration de fonction de différents types. Type de la variable détermine l'espace de stockage occupé variables, et comment interpréter les motifs de bits mémorisés.

C peut être divisé dans les catégories suivantes:

序号类型与描述
1基本类型:
它们是算术类型,包括两种类型:整数类型和浮点类型。
2枚举类型:
它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
3void 类型:
类型说明符void表明没有可用的值。
4派生类型:
它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。

Type de tableau et de la structure du type visé à des types comme agrégats. Type de la fonction se réfère au type de valeurs de retour de fonction. Dans la prochaine section de ce chapitre, nous allons introduire le type de base, d'autres types expliqueront dans le dos quelques chapitres.

Type Entier

Le tableau suivant présente les détails sur les types entiers standard de tailles de stockage et des plages de valeurs:

类型存储大小值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295

A noter que la taille des différents types de systèmes de stockage en relation avec le nombre de bits, mais un système à usage général 64 bits sur la base.

Voici les différences entre 32 bits et la taille de la mémoire système 64-bit (fenêtres de la même):

Afin d'obtenir un type d'une variable ou la taille exacte sur une plate - forme particulière, vous pouvez utiliser l'opérateursizeof.Expressionsizeof (type)pour donner un objet ou d'un type d'octets de stockage. L'exemple suivant montre Obtenir la taille de type int:

#include <stdio.h>
#include <limits.h>

int main()
{
   printf("int 存储大小 : %lu \n", sizeof(int));
   
   return 0;
}

Lorsque vous compilez sous Linux et d'exécuter le programme ci-dessus, il va produire les résultats suivants:

int 存储大小 : 4 

à flotteur

Le tableau suivant présente les détails sur la taille standard en virgule flottante de type stockage, plage de valeurs et de précision:

类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位小数
double8 字节2.3E-308 到 1.7E+30815 位小数
long double16 字节3.4E-4932 到 1.1E+493219 位小数

fichier d'en-tête float.h définit les macros peuvent être utilisées dans le programme et d'autres détails pertinents des valeurs de nombres réels représentés en binaire. Les exemples suivants vont afficher un espace de mémorisation de type virgule flottante, ainsi que sa gamme de valeurs:

#include <stdio.h>
#include <float.h>

int main()
{
   printf("float 存储最大字节数 : %lu \n", sizeof(float));
   printf("float 最小值: %E\n", FLT_MIN );
   printf("float 最大值: %E\n", FLT_MAX );
   printf("精度值: %d\n", FLT_DIG );
   
   return 0;
}

Lorsque vous compilez sous Linux et d'exécuter le programme ci-dessus, il va produire les résultats suivants:

float 存储最大字节数 : 4 
float 最小值: 1.175494E-38
float 最大值: 3.402823E+38
精度值: 6

type void

type spécifié valeur vide ne sont pas disponibles. Il est généralement utilisé dans les trois cas suivants:

序号类型与描述
1函数返回为空
C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如void exit (int status);
2函数参数为空
C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如int rand(void);
3指针指向 void
类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数void *malloc( size_t size );返回指向 void 的指针,可以转换为任何数据类型。

Maintenant, si vous ne pouvez toujours pas bien comprendre le type de vide, ne vous inquiétez pas trop, dans les sections suivantes, nous allons développer ces concepts.