Latest web development tutorials

tipos de datos de C

En el lenguaje C, tipo de datos se refiere a una amplia gama de sistemas de tipos diferentes variables o declaración de la función. Tipo de la variable determina el espacio de almacenamiento ocupado variables, y cómo interpretar los patrones de bits almacenados.

C se puede dividir en las siguientes categorías:

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

tipo de matriz y la estructura del tipo mencionado tipos como agregados. Tipo de la función se refiere al tipo de valores de retorno de función. En la siguiente sección de este capítulo vamos a introducir el tipo básico, otros tipos explicarán en la parte de atrás unos cuantos capítulos.

tipo entero

La siguiente tabla muestra los detalles acerca de los tipos de enteros estándar de tamaños de almacenamiento y rangos de valores:

类型存储大小值范围
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

Tenga en cuenta que el tamaño de los diversos tipos de sistemas de almacenamiento relacionados con el número de bits, sino un sistema de propósito general de 64 bits basan.

Aquí están las diferencias entre los de 32 bits y el tamaño de memoria de sistema de 64 bits (Windows lo mismo):

Con el fin de obtener un tipo de una variable o el tamaño exacto sobre una plataforma en particular, se puede utilizar el operadorsizeof.expresiónsizeof (tipo)para dar un objeto o tipo de bytes de almacenamiento. El siguiente ejemplo demuestra Obtener el tamaño de tipo int:

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

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

Al compilar en Linux y ejecutar el programa anterior, producirá los siguientes resultados:

int 存储大小 : 4 

tipo flotador

En la siguiente tabla se muestran los detalles sobre el tamaño estándar de punto flotante de almacenamiento tipo, rango de valores y precisión:

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

archivo de cabecera float.h define macros se pueden utilizar en el programa y otros datos pertinentes de los valores de los números reales representados en binario. Los siguientes ejemplos salida de un espacio de almacenamiento tipo de punto flotante, así como su gama de valores:

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

Al compilar en Linux y ejecutar el programa anterior, producirá los siguientes resultados:

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

tipo void

tipo especificado valor de vacío no está disponible. Se utiliza típicamente en los tres casos siguientes:

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

Ahora bien, si usted todavía no puede entender completamente el tipo void, no se preocupe demasiado, en las siguientes secciones vamos a completar estos conceptos.