Menu
Coddy logo textTech

Declaración de punteros

Parte de la sección Logic & Flow del Journey de C de Coddy — lección 2 de 63.

Ahora que entiendes qué son los punteros, aprendamos cómo crearlos. Declarar una variable de puntero sigue una sintaxis específica que le indica al compilador a qué tipo de datos apuntará el puntero.

La sintaxis básica para declarar un puntero es: data_type *pointer_name;

int *ptr;        // Declara un puntero a un entero
char *ch_ptr;    // Declara un puntero a un carácter
float *f_ptr;    // Declara un puntero a un float

El asterisco (*) es lo que hace que esta sea una declaración de puntero. Le indica al compilador que esta variable almacenará una dirección de memoria, no el valor de datos real. Cuando declaras int *ptr;, estás diciendo "ptr es un puntero que puede almacenar la dirección de una variable de tipo entero".

Observe que el tipo de dato antes del asterisco especifica a qué tipo de datos apuntará el puntero. Esto es importante porque los diferentes tipos de datos ocupan diferentes cantidades de espacio de memoria, y el compilador necesita conocer esta información para una gestión de memoria adecuada.

challenge icon

Desafío

Fácil

Escribe un programa en C que demuestre la sintaxis correcta para la declaración de punteros. Tu programa debe:

  1. Declarar un puntero a un entero llamado int_ptr
  2. Declarar un puntero a un carácter llamado char_ptr
  3. Declarar un puntero a un float llamado float_ptr
  4. Imprimir las direcciones de memoria almacenadas en cada puntero usando printf con el especificador de formato %p

Tu salida debe mostrar las tres direcciones de los punteros en el siguiente formato:

Integer pointer: [address]
Character pointer: [address]  
Float pointer: [address]

Ten en cuenta que las direcciones de memoria reales variarán, pero el formato y las etiquetas deben coincidir exactamente con lo que se muestra arriba.

Hoja de referencia

Para declarar una variable de puntero, use la sintaxis: data_type *pointer_name;

int *ptr;        // Declara un puntero a un entero
char *ch_ptr;    // Declara un puntero a un carácter
float *f_ptr;    // Declara un puntero a un flotante

El asterisco (*) hace que esta sea una declaración de puntero, indicándole al compilador que esta variable almacenará una dirección de memoria. El tipo de dato antes del asterisco especifica a qué tipo de datos apuntará el puntero.

Use el especificador de formato %p con printf para mostrar direcciones de puntero.

Pruébalo tú mismo

#include <stdio.h>

int main() {
    // TODO: Declara tus punteros aquí
    
    
    // TODO: Imprime las direcciones de los punteros usando el formato requerido
    
    
    return 0;
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Logic & Flow