Resumen: Conceptos básicos de punteros
Parte de la sección Logic & Flow del Journey de C de Coddy — lección 6 de 63.
Desafío
FácilEscribe un programa en C que demuestre el flujo de trabajo completo de los punteros trabajando con múltiples tipos de datos. Tu programa debe:
- Declarar una variable entera llamada
agee inicializarla con el valor 25 - Declarar una variable de tipo carácter llamada
gradee inicializarla con el valor 'A' - Declarar una variable de tipo flotante llamada
temperaturee inicializarla con el valor 98.6 - Declarar tres punteros correspondientes:
- Un puntero a un entero llamado
age_ptr - Un puntero a un carácter llamado
grade_ptr - Un puntero a un flotante llamado
temp_ptr
- Un puntero a un entero llamado
- Usar el operador de dirección (address-of) para asignar las direcciones de las variables a sus respectivos punteros
- Usar el operador de desreferencia para imprimir los tres valores a través de sus punteros en el siguiente formato:
- Age: [value]
- Grade: [value]
- Temperature: [value] (con exactamente 1 decimal)
- Modificar las variables originales a través de sus punteros:
- Cambiar
agea 30 usandoage_ptr - Cambiar
gradea 'B' usandograde_ptr - Cambiar
temperaturea 99.5 usandotemp_ptr
- Cambiar
- Imprimir los valores modificados directamente desde las variables originales (no a través de los punteros) en el mismo formato que el paso 6
Tu salida debe mostrar los resultados en el siguiente formato:
Age: 25
Grade: A
Temperature: 98.6
Age: 30
Grade: B
Temperature: 99.5Este desafío pone a prueba tu comprensión de la declaración de punteros, la asignación de direcciones, la desreferencia tanto para leer como para escribir valores, y demuestra que los punteros proporcionan acceso directo a las ubicaciones de memoria de las variables originales.
Pruébalo tú mismo
#include <stdio.h>
int main() {
// TODO: Escribe tu código aquí
// Declarar variables y punteros
// Asignar direcciones a los punteros
// Imprimir valores a través de los punteros
// Modificar valores a través de los punteros
// Imprimir valores modificados de las variables originales
return 0;
}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