Aritmética de Apuntadores:
Es posible sumar y restar valores enteros a un apuntador. El resultado de estas operaciones es el desplazamiento de la dirección de memoria hacia adelante (suma) o hacia atrás (resta) por bloques de bytes del tamaño del tipo de dato apuntado por el apuntador. Esto permite recorrer arreglos utilizando apuntadores.
int vector[5]={10,20,30,40,50};
int *v; // Un puntero al vector
v = &vector[3]; // ‘v’ almacena la dirección de la posición 3 del arreglo
v = vector + 3 // Instrucción equivalente a la anterior
cout << vector[2]; // Muestra 30
cout << *(vector+2); // Instrucción equivalente a la anterior
Ejemplos:
La ejecución de este programa visualiza el alfabeto:
#include <iostream>
using namespace std;
char c; // declara una variable caracter
int main()
{
char *pc; // un puntero a una variable caracter
pc = &c;
for (c ='A'; c <='Z' ; c++)
cout << *pc;
return 0;
}
•Escribir un programa que muestre cómo un puntero se puede utilizar para recorrer un arreglo.
•Escribir un programa que declare un vector de 5 posiciones, lo inicialice con valores; además declarar un puntero que apunte a cada posición de los elementos del vector e imprime el valor y la dirección de memoria.
int vector[5]={10,20,30,40,50};
int *v; // Un puntero al vector
v = &vector[3]; // ‘v’ almacena la dirección de la posición 3 del arreglo
v = vector + 3 // Instrucción equivalente a la anterior
cout << vector[2]; // Muestra 30
cout << *(vector+2); // Instrucción equivalente a la anterior
Ejemplos:
La ejecución de este programa visualiza el alfabeto:
#include <iostream>
using namespace std;
char c; // declara una variable caracter
int main()
{
char *pc; // un puntero a una variable caracter
pc = &c;
for (c ='A'; c <='Z' ; c++)
cout << *pc;
return 0;
}
Ejercicios:
•Escribir un programa que muestre cómo un puntero se puede utilizar para recorrer un arreglo.
•Escribir un programa que declare un vector de 5 posiciones, lo inicialice con valores; además declarar un puntero que apunte a cada posición de los elementos del vector e imprime el valor y la dirección de memoria.
No hay comentarios:
Publicar un comentario