Breve Descripción de Punteros
Operador de desreferenciación
Un puntero es una variable que contiene la dirección de otro objeto.
El operador de desreferenciación "*" devuelve el valor almacenado en la dirección.
La declaración e inicialización de un puntero se ve así:
int* pName = NULL;
main.c
12345678#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }
Operador de referencia &
El operador & devuelve la dirección de un objeto:
main.c
12345678#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }
Una variable de tipo puntero se utiliza para almacenar la dirección, que es devuelta por el operador &.
int variable;
int* pVariable;
pVariable = &variable;
Para desempaquetar el contenido en la dirección especificada, se debe utilizar el operador * sobre una variable de tipo puntero.
main.c
12345678910#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
¡Gracias por tus comentarios!
single
Breve Descripción de Punteros
Desliza para mostrar el menú
Operador de desreferenciación
Un puntero es una variable que contiene la dirección de otro objeto.
El operador de desreferenciación "*" devuelve el valor almacenado en la dirección.
La declaración e inicialización de un puntero se ve así:
int* pName = NULL;
main.c
12345678#include <stdio.h> int main() { int* pName = NULL; printf("%p\n", pName); // `%p` is a specifier for a pointer return 0; }
Operador de referencia &
El operador & devuelve la dirección de un objeto:
main.c
12345678#include <stdio.h> int main() { int variable; printf("%p\n", &variable); return 0; }
Una variable de tipo puntero se utiliza para almacenar la dirección, que es devuelta por el operador &.
int variable;
int* pVariable;
pVariable = &variable;
Para desempaquetar el contenido en la dirección especificada, se debe utilizar el operador * sobre una variable de tipo puntero.
main.c
12345678910#include <stdio.h> int main() { int variable = 1024; int* pVariable = &variable; printf("Address: %p\n", pVariable); // `%p` specifier for a pointer printf("Returned value by address: %d\n", *(pVariable)); // using `*` to pointer return 0; }
Desliza para comenzar a programar
Tienes un producto con un precio específico y necesitas aumentar su valor en un porcentaje dado.
Tu tarea es implementar una función que actualice el precio del producto utilizando un puntero.
Dentro de la función updatePrice:
- Utiliza el operador de desreferenciación (
*) para acceder al valor actual almacenado en memoria — por ejemplo,*pricese refiere a100.0. - Calcula el porcentaje del precio actual —
*price * percentIncrease / 100.0, que para el 10% de 100.0 equivale a10.0. - Suma este porcentaje al valor original para obtener el precio actualizado —
*price = *price + (percentage part). - La función no retorna ningún valor — modifica directamente el valor a través del puntero.
Example
| Initial Price | Increase (%) | Updated Price |
|---|---|---|
| 100.0 | 10.0 | 110.0 |
| 250.0 | 5.0 | 262.5 |
| 80.0 | 25.0 | 100.0 |
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla