¿Qué es un puntero?
Parte de la sección Logic & Flow del Journey de C de Coddy — lección 1 de 63.
Piense en la memoria de su computadora como un edificio de apartamentos gigante con miles de habitaciones. Cada habitación tiene una dirección única y cada habitación puede almacenar una pieza de datos. Cuando crea una variable en C, se le asigna una de estas habitaciones.
Un puntero es un tipo especial de variable que no almacena datos regulares como números o caracteres. En su lugar, almacena la dirección de la ubicación de memoria de otra variable. Piénsalo como si anotaras el número de apartamento de alguien en un trozo de papel: el papel no contiene a la persona, pero te indica exactamente dónde encontrarla.
int age = 25; // Esto crea una variable 'age' en memoria
int *ptr; // Esto crea un puntero que puede almacenar una direcciónEn este ejemplo, age se almacena en alguna dirección de memoria (digamos, la habitación 1004), y ptr es una variable de puntero que podría almacenar la dirección 1004 para "apuntar a" la variable age.
Los punteros son una de las características más potentes de C porque te permiten trabajar directamente con direcciones de memoria, haciendo que tus programas sean más eficientes y permitiendo técnicas avanzadas como la asignación dinámica de memoria y estructuras de datos complejas.
Hoja de referencia
Un puntero es una variable que almacena la dirección de memoria de otra variable, en lugar de almacenar datos directamente.
Para declarar un puntero, use el operador *:
int age = 25; // Variable regular
int *ptr; // Variable de puntero que puede almacenar una direcciónLos punteros permiten la manipulación directa de la memoria y habilitan técnicas de programación avanzadas como la asignación dinámica de memoria y estructuras de datos complejas.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Logic & Flow
1Fundamentos de Punteros
¿Qué es un puntero?Declaración de punterosEl operador de dirección (&)El operador de desreferencia (*)Punteros NULLResumen: Conceptos básicos de punteros4Proyecto: Utilidad de texto simple
Descripción general del proyectoContar caracteres2Punteros y Arrays
Nombres de Arrays como PunterosElementos de un Array - PunterosAritmética de PunterosComparación de PunterosResumen: Recorrido de Arrays con Punteros5Punteros y funciones
Paso por valorPasar punteros a funcionesModificar variables mediante punterosUn ejemplo clásico: Intercambio (Swap)Pasar arrays a funcionesResumen: Argumentos de punteros a funciones3Arreglos de caracteres y cadenas
Cadenas como arreglos de charEl terminador nuloEntrada de cadenas con scanfUso de strlen()Uso de strcpy()Uso de strcat()Uso de strcmp()Resumen: Funciones básicas de cadenas