Tipos de datos en C explicados: int, float, char y más – guía completa
Tipos de datos en C
Este tutorial desmitifica los tipos de datos fundamentales en C—int, float, char y otros—para que pueda escribir código preciso y eficiente.
Video: Tipos de datos en programación C
En C, cada variable se declara con un tipo de dato que define su tamaño y rango de valores. Por ejemplo:
int miVar;
Aquí, miVar es una variable int (entera), que típicamente ocupa 4 bytes.
Tipos básicos
A continuación se muestra una referencia rápida para los tipos de datos de C más comúnmente usados.
| Tipo | Tamaño (bytes) | Especificador de formato |
|---|---|---|
int | al menos 2, usualmente 4 | %d, %i |
char | 1 | %c |
float | 4 | %f |
double | 8 | %lf |
short int | 2 usualmente | %hd |
unsigned int | al menos 2, usualmente 4 | %u |
long int | al menos 4, usualmente 8 | %ld, %li |
long long int | al menos 8 | %lld, %lli |
unsigned long int | al menos 4 | %lu |
unsigned long long int | al menos 8 | %llu |
signed char | 1 | %c |
unsigned char | 1 | %c |
long double | al menos 10, usualmente 12 o 16 | %Lf |
int
Un int representa números enteros—cero, positivos y negativos—sin puntos decimales. Ejemplos típicos incluyen 0, -5 y 10.
Declare una variable entera así:
int id;
La variable id ahora contiene un entero. También puede declarar múltiples enteros simultáneamente:
int id, edad;
En la mayoría de plataformas, int es de 4 bytes (32 bits) y puede representar 232 valores distintos que van desde –2,147,483,648 hasta 2,147,483,647.
float y double
Use float y double para almacenar números reales (punto flotante).
float salario;
double precio;
Ambos tipos soportan notación científica, por ejemplo:
float factorNormalizacion = 22.442e2;
Diferencia clave: float (precisión simple) ocupa 4 bytes, mientras que double (precisión doble) ocupa 8 bytes.
char
La palabra clave char declara una variable de carácter único. Ejemplo:
char test = 'h';
Su tamaño es exactamente 1 byte.
void
void representa la ausencia de tipo. Se usa para funciones que no devuelven valor:
void imprimirMensaje() {
printf("¡Hola, mundo!\n");
}
No puede crear variables de tipo void.
short y long
Cuando necesite un rango numérico mayor, use long o long long:
long a;
long long b;
long double c;
Para rangos enteros pequeños (–32,767 a 32,767), short basta:
short d;
Compruebe el tamaño de un tipo con sizeof():
#include <stdio.h>
int main() {
short a;
long b;
long long c;
long double d;
printf("tamaño de short = %d bytes\n", sizeof(a));
printf("tamaño de long = %d bytes\n", sizeof(b));
printf("tamaño de long long = %d bytes\n", sizeof(c));
printf("tamaño de long double= %d bytes\n", sizeof(d));
return 0;
}
signed y unsigned
Modificadores que controlan el rango de valores de un tipo:
signed– permite valores negativos y positivos.unsigned– restringe a valores no negativos solamente.
Ejemplos:
// válido
unsigned int x = 35;
int y = -35; // signed int
int z = 36; // signed int
// inválido – unsigned no puede contener números negativos
unsigned int num = -35;
Con un int de 4 bytes, y abarca –231 a 231‑1, mientras que x abarca 0 a 232‑1.
Tipos de datos derivados
Los tipos derivados se construyen sobre tipos fundamentales: arrays, punteros, estructuras y funciones. Tutoriales posteriores cubrirán estos en profundidad.
- tipo bool
- tipo enumerado
- tipos complejos
Lenguaje C
- Entendiendo palabras clave e identificadores en C#: Reglas, listas y mejores prácticas
- Domine variables y tipos de datos primitivos en C#: Guía completa
- Dominando las Directivas de Preprocesador en C#: Guía Práctica
- Entendiendo los Tipos de Datos en C++: Fundamentos, Modificadores y Mejores Prácticas
- Cuatro patrones probados para funciones definidas por el usuario en C
- Variables y tipos de datos en C++: Guía experta sobre int, double, char, string, bool
- Entendiendo los tipos de datos en C: Guía completa
- Dominando funciones en C: Estructura, declaración y mejores prácticas
- Uniones en C explicadas: Gestión eficiente de memoria para múltiples tipos de datos
- Dominando tipos de datos en Python: Guía práctica
- Tipos de Datos Primitivos en Java: Guía Completa con Ejemplos