logo

Tipos de datos en C

Cada variable en C tiene un tipo de datos asociado. Especifica el tipo de datos que la variable puede almacenar como entero, carácter, flotante, doble, etc. Cada tipo de datos requiere diferentes cantidades de memoria y tiene algunas operaciones específicas que se pueden realizar sobre él. El tipo de datos es una colección de datos con valores que tienen valores fijos, su significado y sus características.

Los tipos de datos en C se pueden clasificar de la siguiente manera:



Tipos

Descripción

Tipos de datos primitivos Los tipos de datos primitivos son los tipos de datos más básicos que se utilizan para representar valores simples como números enteros, flotantes, caracteres, etc.
Tipos de datos definidos por el usuario Los tipos de datos definidos por el usuario los define el propio usuario.
Tipos derivados Los tipos de datos que se derivan de los tipos de datos primitivos o integrados se denominan tipos de datos derivados.

Tipos de datos en C



Los diferentes tipos de datos también tienen diferentes rangos hasta los cuales pueden almacenar números. Estos rangos pueden variar de un compilador a otro. A continuación se muestra una lista de rangos junto con los requisitos de memoria y los especificadores de formato en la página Compilador GCC de 32 bits .

Tipo de datos
Tamaño (bytes)
Rango
Especificador de formato
corto int
2
-32.768 a 32.767
% hd
int corto sin firmar
2
0 a 65.535
%hu
entero sin firmar
4
0 a 4.294.967.295
%en
En t
4
-2.147.483.648 a 2.147.483.647
%d
largo int
4
-2.147.483.648 a 2.147.483.647
%ld
int largo sin firmar
4
0 a 4.294.967.295
% lu
largo largo int
8
-(2^63) a (2^63)-1
%lld
int largo largo sin firmar
8
0 a 18.446.744.073.709.551.615
%lu
carácter firmado
1
-128 a 127
%C
carácter sin firmar
1
0 a 255
%C
flotar
4
1.2E-38 a 3.4E+38 %F
doble
8
1.7E-308 a 1.7E+308 %lf
doble largo
16
3.4E-4932 es 1.1E+4932 %Lf

Nota: El l largo, corto, firmado y sin firmar son modificadores de tipo de datos que se pueden usar con algunos tipos de datos primitivos para cambiar el tamaño o la longitud del tipo de datos.

Los siguientes son algunos tipos de datos primitivos principales en C:



Tipo de datos entero

El tipo de datos entero en C se utiliza para almacenar números enteros (cualquier número, incluidos positivos, negativos y cero, sin parte decimal). Los valores octales, hexadecimales y decimales se pueden almacenar en el tipo de datos int en C.

  • Rango: -2.147.483.648 a 2.147.483.647
  • Tamaño: 4 bytes
  • Especificador de formato: %d

Sintaxis de número entero

Usamosnombre_var;

El tipo de datos entero también se puede utilizar como

lanzar int a cadena
  1. entero sin firmar: El tipo de datos int sin signo en C se usa para almacenar valores de datos desde cero hasta números positivos, pero no puede almacenar valores negativos como int con signo.
  2. entero corto: Tiene un tamaño menor que int en 2 bytes, por lo que solo puede almacenar valores de -32,768 a 32,767.
  3. int largo: Una versión más grande del tipo de datos int puede almacenar valores mayores que int.
  4. int corto sin firmar: Similar en relación con short int como unsigned int con int.

Nota: El tamaño de un tipo de datos entero depende del compilador. Nosotros podemos usar tamaño del operador para comprobar el tamaño real de cualquier tipo de datos.

Ejemplo de int

C




// C program to print Integer data types.> #include> int> main()> {> >// Integer value with positive data.> >int> a = 9;> >// integer value with negative data.> >int> b = -9;> >// U or u is Used for Unsigned int in C.> >int> c = 89U;> >// L or l is used for long int in C.> >long> int> d = 99998L;> >printf>(>'Integer value with positive data: %d '>, a);> >printf>(>'Integer value with negative data: %d '>, b);> >printf>(>'Integer value with an unsigned int data: %u '>,> >c);> >printf>(>'Integer value with an long int data: %ld'>, d);> >return> 0;> }>

>

>

orden lexicográfico
Producción

Integer value with positive data: 9 Integer value with negative data: -9 Integer value with an unsigned int data: 89 Integer value with an long int data: 99998>

Tipo de datos de carácter

El tipo de datos de carácter permite que su variable almacene solo un carácter. El tamaño del carácter es de 1 byte. Es el tipo de datos más básico en C. Almacena un solo carácter y requiere un solo byte de memoria en casi todos los compiladores.

  • Rango: (-128 a 127) o (0 a 255)
  • Tamaño: 1 byte
  • Especificador de formato: %C

Sintaxis de carbón

El palabra clave de carácter se utiliza para declarar la variable de tipo carácter:

  char     var_name;>

Ejemplo de carbón

C




// C program to print Integer data types.> #include> int> main()> {> >char> a =>'a'>;> >char> c;> >printf>(>'Value of a: %c '>, a);> >a++;> >printf>(>'Value of a after increment is: %c '>, a);> >// c is assigned ASCII values> >// which corresponds to the> >// character 'c'> >// a-->97 b-->98 c-->99> >// here c will be printed> >c = 99;> >printf>(>'Value of c: %c'>, c);> >return> 0;> }>

>

>

Producción

Value of a: a Value of a after increment is: b Value of c: c>

Tipo de datos flotantes

En programación C tipo de datos flotante se utiliza para almacenar valores de punto flotante. Float en C se utiliza para almacenar valores decimales y exponenciales. Se utiliza para almacenar números decimales (números con valores de punto flotante) con precisión simple.

  • Rango: 1.2E-38 a 3.4E+38
  • Tamaño: 4 bytes
  • Especificador de formato: %F

Sintaxis de flotador

El palabra clave flotante se utiliza para declarar la variable como punto flotante:

  float     var_name;>

Ejemplo de flotador

C


tipos de arbol binario



// C Program to demonstrate use> // of Floating types> #include> int> main()> {> >float> a = 9.0f;> >float> b = 2.5f;> >// 2x10^-4> >float> c = 2E-4f;> >printf>(>'%f '>, a);> >printf>(>'%f '>, b);> >printf>(>'%f'>, c);> >return> 0;> }>

>

>

Producción

9.000000 2.500000 0.000200>

Tipo de datos doble

A Tipo de datos doble en C se utiliza para almacenar números decimales (números con valores de punto flotante) con doble precisión. Se utiliza para definir valores numéricos que contienen números con valores decimales en C.

El tipo de datos doble es básicamente un tipo de datos de precisión que es capaz de contener 64 bits de números decimales o puntos flotantes. Dado que el doble tiene más precisión en comparación con el tipo flotante, es mucho más obvio que ocupa el doble de la memoria que ocupa el tipo de punto flotante. Puede acomodar fácilmente entre 16 y 17 dígitos antes o después de un punto decimal.

  • Rango: 1.7E-308 a 1.7E+308
  • Tamaño: 8 bytes
  • Especificador de formato: %lf

Sintaxis de doble

La variable se puede declarar como punto flotante de doble precisión utilizando el doble palabra clave:

  double    var_name;>

Ejemplo de doble

C


controlador web



// C Program to demonstrate> // use of double data type> #include> int> main()> {> >double> a = 123123123.00;> >double> b = 12.293123;> >double> c = 2312312312.123123;> >printf>(>'%lf '>, a);> >printf>(>'%lf '>, b);> >printf>(>'%lf'>, c);> >return> 0;> }>

>

>

Producción

123123123.000000 12.293123 2312312312.123123>

Tipo de datos anulados

El tipo de datos nulo en C se utiliza para especificar que no hay ningún valor presente. No proporciona un valor de resultado a quien lo llama. No tiene valores ni operaciones. Se utiliza para representar nada. Void se usa de múltiples maneras como tipo de retorno de función, argumentos de función como nulos y consejos para anular .

Sintaxis:

// function return type void   void   exit(int check); // Function without any parameter can accept void. int print(  void  ); // memory allocation function which // returns a pointer to void.   void   *malloc (size_t size);>

Ejemplo de vacío

C




// C program to demonstrate> // use of void pointers> #include> int> main()> {> >int> val = 30;> >void>* ptr = &val;> >printf>(>'%d'>, *(>int>*)ptr);> >return> 0;> }>

>

alquilar mapa
>

Producción

30>

Tamaño de los tipos de datos en C

El tamaño de los tipos de datos en C depende del tamaño de la arquitectura, por lo que no podemos definir el tamaño universal de los tipos de datos. Para eso, el lenguaje C proporciona el operador sizeof() para verificar el tamaño de los tipos de datos.

Ejemplo

C




// C Program to print size of> // different data type in C> #include> int> main()> {> >int> size_of_int =>sizeof>(>int>);> >int> size_of_char =>sizeof>(>char>);> >int> size_of_float =>sizeof>(>float>);> >int> size_of_double =>sizeof>(>double>);> >printf>(>'The size of int data type : %d '>, size_of_int);> >printf>(>'The size of char data type : %d '>,> >size_of_char);> >printf>(>'The size of float data type : %d '>,> >size_of_float);> >printf>(>'The size of double data type : %d'>,> >size_of_double);> >return> 0;> }>

>

>

Producción

The size of int data type : 4 The size of char data type : 1 The size of float data type : 4 The size of double data type : 8>

Para comprobar su conocimiento de los tipos de datos en C, consulte el Prueba sobre tipos de datos .