UPE: Punteros en ANSI C
El Objetivo de este TP es conocer y practicar ejercicios del tema PUNTEROS
. Para poder resolverlos es necesario tener claro algunos conceptos:
• Librerías
• Variables
• Tipos de datos
• Estructuras de control
Una de las características más poderosas del lenguaje C, es el puntero. Los punteros permiten simular las llamadas por referencia y crear y manipular estructuras de datos dinámicas, que pueden crecer y encogerse en tiempos de ejecución, como las pilas, árboles y listas.
Un puntero es un objeto del lenguaje de programación, cuyo valor se refiere a (o “apunta a”) otro valor almacenado en otra parte de la memoria del ordenador utilizando su dirección. Un puntero referencia a una ubicación en memoria, y a la obtención del valor almacenado en esa ubicación se la conoce como desreferenciación del puntero.
Es recomendable que hayas leído el material de la catedra antes de continuar!
Aplicar Punteros
Escribimos un programa que implemete punteros de forma básica. Vamos a almacenar en el puntero la dirección de memoria de la variable y recuperar el valor al que esta apuntando.
Prestar atención! el puntero es fácilmente identificable debido a que su declaración se realiza con un “*“: Para imprimir el puntero estamos usando el operador “%p”
Copia y pega este código en CondeBlocks. Si tenes problemas con CodeBlocks, en este caso también podes usar un compilador online como Joodle.
Punteros con funciones
Siguiendo el ejemplo anterior, ahora escribimos un programa utilizando punteros y funciones. Lo que vamos a hacer, es enviarle por parametro la referencia de memoria a un puntero y que esta función realice la suma; sin que retorne nada, veremos luego el valor de la variable en la función padre.
Prestar atención! se le enviara a la función la dirección de memoria de la variable con el operador “&”
Tambien pudes usar Joodle.
Ejercicios
1. Calcular el cubo
Un exponente es un número que indica cuantas veces el número base se utiliza como factor. Por ejemplo, 4 elevado a la 3 indica que el número base 4 se utiliza como factor 3 veces.
¿Podes desarrollar un programa que permita calcular el cubo de un valor entero mediante una función utilizando punteros?
Código de ayuda:
2. Completar el programa
Dado el siguiente programa escrito en C, de debe completar las lineas que faltan para que sea compilado y ejecutado correctamente.
¿Podes explicar que es lo que hace la función “intercambia”?
Mas data: Punteros en C / Tipos de datos en C