0% encontró este documento útil (0 votos)
95 vistas3 páginas

Introducción a Punteros en C++

Este documento explica los punteros en C++. Los punteros permiten acceder a la dirección de memoria de una variable y manipular datos de forma dinámica, como en listas enlazadas. Un puntero es una variable que contiene la dirección de memoria de otra variable y debe ser declarado con un asterisco antes del nombre. Los punteros pueden apuntar a variables de cualquier tipo de datos e incluso a estructuras y clases.

Cargado por

angel uni
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
95 vistas3 páginas

Introducción a Punteros en C++

Este documento explica los punteros en C++. Los punteros permiten acceder a la dirección de memoria de una variable y manipular datos de forma dinámica, como en listas enlazadas. Un puntero es una variable que contiene la dirección de memoria de otra variable y debe ser declarado con un asterisco antes del nombre. Los punteros pueden apuntar a variables de cualquier tipo de datos e incluso a estructuras y clases.

Cargado por

angel uni
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PUNTEROS

Antes de analizar el tema de punteros, se verá la forma en que C++


identifica, define y asigna espacio para las variables que intervienen
en el problema. En las operaciones que ejecuta el compilador utiliza
las direcciones de memoria que ya asignó a las variables.
Supongamos el siguiente problema:
Efectuar el cálculo: c= a + b
Definir las variables: int a, b, c; a quedo en 1000
b quedo en 2000
c quedo en 3000
Leer los valores de a, b (3 5) cin >> a >> b; dir 1000 tiene 3
dir 2000 tiene 5
Calcular c=a + b
3000 = 100 + 200 dir 3000 tiene 8
Una de las características más poderosas del lenguaje “C” es el “puntero”.
Los “punteros”, también llamados “apuntadores”, permiten simular llamadas por referencia, crear
y manipular estructuras de datos que pueden crecer o encogerse, como son las listas enlazadas,
colas de espera, pilas y árboles.
Como ya sabemos, una variable contiene directamente un valor específico, sin embargo, un
puntero es una variable que contiene la dirección de memoria de otra variable.
Un puntero, como cualquier otra variable debe ser declarado antes de que pueda utilizarse. La
forma de declararlo es anteponiendo un asterisco (*) al nombre del puntero.
Los punteros pueden ser declarados para que apunten a variables de diferente tipo (int, long,
double, float, char, etc), inclusive Estructuras y Clases, en otras palabras, apuntan a objetos de
cualquier tipo de datos. Enseguida se dan algunos ejemplos de declaración de punteros.

int *ptra, *ptrb;


float *volptr, *areaptr;
char *nomptr, *domptr;
double *ptrarr; *ptrx;
Operador de indirección &
Es un operador unario que regresa la dirección de su operando.
cout << &a; regresa la dirección de a (no el valor numérico de a)
+++++++++++++++++++++++++++++++++++++++++++++
Ejemplo 1: int a = 123, *ptra;
Suponga que “a” quedo en la dirección de memoria 500
y *ptra quedo en la direccion de memoria 600
ptra = &a; Ahora ptra tiene la dirección de a (500)
cout << a; escribre 123
cout << &a; escribe 500
+++++++++++++++++++++++++++++++++++++++++++++
Ejemplo 2: int x = 1567, *ptrx;
Suponga que “x” quedo en la dirección de memoria 2000
y *ptrx quedo en la direccion de memoria 3000
ptrx = &x; Ahora ptrx tiene la dirección de x (2000)
cout << x; escribe 1567
cout << &x; escribe 3000
+++++++++++++++++++++++++++++++++++++++++++++
Punteros. Forma grafica

Arreglo A[50] Suponemos que A quedo en la dirección: 1000


Indices del arreglo
0 1 2 3 4 5 6 7 8 9 49
8 7 4 9 7 2 7 8 4

Leer el primer valor A Leer el segundo valor de A


cin >> A[0]; cin >> A[1];
Escribir el primer valor A Escribir el segundo valor de A
cout << A[0]; cout << A[1];
++++++++++++++++++++++++++++++++++++++++++++++++
Con puntero: ptra = A;
Puntero ptra tiene la dirección de A o sea 1000

1000

Leer el primer valor Leer el segundo valor


cin >> *ptra; cin >> *(ptra+1)

Escribir el primer valor Escribir el segundo valor


cout << *ptra; cout << *(ptra+1)
++++++++++++++++++++++++++++++++++++++++++++++++
Si tenemos i = 5
cout << *(ptra + i); se escribe el elemento que está en la dirección 1005

Punteros_Grafico.doc

También podría gustarte