Variables, tipos de datos y constantes en C – Guía práctica
¿Qué es una variable?
Una variable es un identificador que contiene un valor. A diferencia de las constantes, el valor de una variable puede cambiar durante la ejecución del programa.
Las variables pueden referenciarse desde múltiples lugares en un programa. Un nombre descriptivo ayuda a los lectores a entender el propósito de la variable.
int altura = 170; // altura en centímetros int edad = 29; // edad en años
Antes de usar una variable, debe declararse. Los nombres de variables pueden contener letras, dígitos y guiones bajos, pero deben comenzar con una letra o guion bajo.
Reglas de nomenclatura de variables
- Solo letras (a-z, A-Z), dígitos (0-9) y guion bajo (_).
- No puede comenzar con un dígito.
- Sin espacios en blanco.
- No puede ser una palabra clave reservada.
- C distingue mayúsculas/minúsculas:
edadyEDADson identificadores distintos.
Nombres válidos e inválidos
Válidos:
altura _ALTURA _altura1 Mi_nombre
Inválidos:
1altura Al$ura Mi nombre
Declaración e inicialización de variables
Declarar primero, luego asignar:
int mi_variable; mi_variable = 48;
O combinar declaración e inicialización:
int mi_variable = 48;
Visión general de tipos de datos
C ofrece tres categorías de tipos de datos:
- Primitivos (int, char, float, double, void)
- Derivados (arrays, funciones, punteros, estructuras)
- Definidos por el usuario (typedef, structs, enums, unions)
Tipos de datos primitivos
Cinco tipos fundamentales:
- int – valores enteros
- char – caracteres individuales
- float – punto flotante de precisión simple
- double – punto flotante de doble precisión
- void – sin valor (usado en firmas de funciones)
Tamaños y rangos estándar de tipos de datos
| Tipo de dato | Tamaño (bytes) | Rango |
|---|---|---|
| char / signed char | 1 | -128 a 127 |
| unsigned char | 1 | 0 a 255 |
| int / signed int | 2 | -32768 a 32767 |
| unsigned int | 2 | 0 a 65535 |
| short int / unsigned short int | 2 | 0 a 65535 |
| signed short int | 2 | -32768 a 32767 |
| long int / signed long int | 4 | -2147483648 a 2147483647 |
| unsigned long int | 4 | 0 a 4294967295 |
| float | 4 | ±3.4E-38 a ±3.4E+38 |
| double | 8 | ±1.7E-308 a ±1.7E+308 |
| long double | 10 | ±3.4E-4932 a ±1.1E+4932 |
Nota: C no tiene un tipo booleano integrado; usa int con 0 (falso) o 1 (verdadero) o la cabecera stdbool.h para bool.
Tipos de datos enteros
Los enteros son números enteros. El int estándar de 16 bits varía de –32768 a 32767. Existen variantes más cortas y largas para adaptarse al rango requerido.
Declaraciones típicas:
int edad; short int conteoPequeno; long int conteoGrande;
Tipos de datos de punto flotante
Usa float para valores con partes fraccionarias hasta ~6 dígitos de precisión. double ofrece ~14 dígitos, y long double brinda la mayor precisión.
Ejemplos:
float ratio = 0.75f; double saldo = 12345.6789; long double pi = 3.141592653589793238462643383279502884L;
Tipo de dato carácter
Almacena un solo carácter en un valor de un byte. Los caracteres se especifican entre comillas simples.
Ejemplo:
char letra = 'K';
Tipo de dato void
Indica que una función no devuelve un valor.
Ejemplo:
void mostrarDatos(void) { // ... }
Declaración de múltiples variables
Variables del mismo tipo pueden declararse en una sola línea, separadas por comas:
int x, y, z; float salario = 13.48f; char letra = 'K';
Ejemplos de impresión usan especificadores de formato:
printf("%d\n", z); printf("%f\n", salario); printf("%c\n", letra);
Constantes
Un valor constante nunca cambia durante la ejecución del programa. C proporciona varias formas:
Constantes enteras
Literales decimales, octales (prefijados con 0) y hexadecimales (prefijados con 0x).
Ejemplos:
111 // decimal 012 // octal (10 decimal) 0x2BCD // hexadecimal (19293 decimal)
Constantes de carácter
Un solo carácter rodeado de comillas simples o por su código ASCII.
Ejemplos:
'A' '9'
Constantes de cadena
Secuencia de caracteres encerrada entre comillas dobles.
Ejemplos:
"Hola" "Programación"
Constantes reales (punto flotante)
Números con punto decimal o en notación científica.
Ejemplos:
202.15 300.00 1.23e-4 // 0.000123
Definición de constantes con const y #define
Usar const reserva almacenamiento e impone inmutabilidad:
#include <stdio.h> int main(void) { const double PI = 3.141592653589793; printf("%f\n", PI); return 0; }
Usar #define es una macro de preprocesador que no consume almacenamiento:
#include <stdio.h> #define PI 3.141592653589793 int main(void) { printf("%f\n", PI); return 0; }
Resumen
- Las variables son identificadores mutables que almacenan datos.
- Las constantes son valores inmutables fijos en tiempo de compilación.
- Los tipos básicos de C:
int,float,charyvoid. - Cada tipo tiene un tamaño y rango definidos, críticos para aplicaciones con memoria limitada.
Lenguaje C
- Entendiendo Protocolos de Red: De Capa Física a Arbitraje Avanzado
- Microprocesadores: La Evolución de la Computación con Programa Almacenado
- Domine variables y tipos de datos primitivos en C#: Guía completa
- Entendiendo el ámbito de variables en C#: Nivel de clase, método y bloque
- Dominando Variables, Literales y Constantes en C++: Guía Completa
- Entendiendo los Tipos de Datos en C++: Fundamentos, Modificadores y Mejores Prácticas
- Variables, constantes y literales en C: guía completa
- Tipos de datos en C explicados: int, float, char y más – guía completa
- Entendiendo las clases de almacenamiento en C: ámbito, vida y rendimiento
- Entendiendo los tipos de datos en C: Guía completa
- Tipos de Datos Primitivos en Java: Guía Clara