Practica 5
Practica 5
Practica 5
Practica 5:
Apuntadores
(Punteros)
Lenguaje de programación.
4to. cuatrimestre.
Practica 5: Apuntadores (Punteros)
Objetivos:
• Utilizar apuntadores en lenguaje C para acceder a las localidades de
memoria tanto de datos primitivos como de arreglos.
• Declarar, asignar y utilizar la aritmética de un puntero recorriendo y
accediendo arreglos en un programa básico de monitoreo de una variable
físicas.
• Acceder a un dato específico en un arreglo.
Material y equipo:
Cantidad Equipo
1 Computadora con Dev C++.
Duración: 2 horas.
I. Fundamentación teórica.
Un apuntador es una variable que contienen la dirección de memoria de otra variable, es
decir, hace referencia a la localidad de memoria de otra variable. Los apuntadores se
utilizan para dar claridad y simplicidad a las operaciones a nivel memoria.
Para declarar un apuntador se debe definir el tipo de dato y el nombre de la variable
apuntador precedida de un asterisco (*). Una variable de tipo apuntador debe tener el mismo
tipo de dato de la variable a la que va a apuntar:
Apuntador = &variable;
Los apuntadores solo deben apuntar a variables del mismo tipo de dato con el que fueron
declarados.
II. Desarrollo experimental.
Pre-reporte.
Sintaxis básica de la declaración de un apuntador.
Lectura de la fundamentación teórica.
1. Abre Dev C++ en la computadora.
Primera parte.
2. Escribe el siguiente programa que declara un apuntador y se le asigna la
dirección de la variable c. Imprime el contenido de la dirección, el código
ASCII del contenido y la dirección.
//Apuntador a un caracter
#include<stdio.h>
int main()
{
char *ap, c; //* indica que será un apuntador
c = 'X';
ap = &c; //guarda la dirección de la varible c
//imprime el caracter (contenido) de la localidad a la que apunta
printf("Carácter: %c\n", *ap);
¿Qué imprimió?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
5. Dentro de la aritmética de los apuntadores, suponiendo que apArr es un
apuntador a algún elemento de un arreglo, entonces:
a. apArr++: incrementa apArr para apuntar a la siguiente localidad de memoria.
b. apArr+=i: Incrementa apArr para apuntar a la i-ésima localidad de memoria
a partir del valor inicial de apArr.
6. Escribe el siguiente programa, revisa que no contenga errores, compila y
ejecuta.
//Aritmética de apuntadores
#include<stdio.h>
int main()
{
int arr[5] = {91,28,73,46,55}; //Inicialización del arreglo
int *apArr; //Apuntador tipo entero
apArr = arr; //apunta al inicio del arreglo
printf("*apArr = %d\n", *apArr);
//suma una localidad al inicio del arreglo e imprime su valor
printf("*(apArr + 1) = %d\n", *(apArr + 1));
//suma dos localidades al inicio del arreglo e imprime su valor
printf("*(apArr + 1) = %d\n", *(apArr + 2));
}
¿Qué imprimió? Explica los resultados.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Nota: Puedes hacer un solo programa para cada punto o todo en un solo programa y usar un menú
para acceder a cada uno de los programas en las actividades complementaras.