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

Punteros en Programación Modular

El documento define un puntero como una variable cuyo valor es la dirección de memoria de otra variable. Explica que los punteros se declaran usando el tipo de dato seguido de un asterisco y que se pueden acceder al contenido de la variable apuntada usando el operador de desreferencia (*) y a la dirección de memoria usando el operador de dirección (&). Finalmente, proporciona un ejemplo de código que ilustra cómo declarar y usar punteros para modificar valores y direcciones de memoria.

Cargado por

jafet puyen
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)
8 vistas3 páginas

Punteros en Programación Modular

El documento define un puntero como una variable cuyo valor es la dirección de memoria de otra variable. Explica que los punteros se declaran usando el tipo de dato seguido de un asterisco y que se pueden acceder al contenido de la variable apuntada usando el operador de desreferencia (*) y a la dirección de memoria usando el operador de dirección (&). Finalmente, proporciona un ejemplo de código que ilustra cómo declarar y usar punteros para modificar valores y direcciones de memoria.

Cargado por

jafet puyen
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

Facultad de Ingeniería de Sistemas e Informática UNMSM

PROGRMACION MODULAR
PUNTEROS

Definición. - Un puntero es una variable, cuyo valor es la dirección de memoria de otra


variable. Cuando una variable se declara, se asocian tres atributos: nombre, tipo y
dirección en memoria. Al valor, o contenido de una variable se accede por medio de su
nombre. A la dirección de la variable se accede por medio del operador de dirección &.
Ejemplo:

int x; 500 Dirección (Hexadecimal)

Nombre X 100

int Tipo

Si el valor de la variable se conoce se representa en el interior de la caja.


Ejemplo: Obtener el valor y la dirección de una variable.
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int main() {
int x,*px;
x=100;
cout<<"Contenido de X= "<<x<<endl;
cout<<"Direccion de &x = "<<&x<<endl;
px=&x;
cout<<"Contenido de X= "<<*px<<endl;
cout<<"Direccion de px = "<<px<<endl;
cout<<"Direccion de px = "<<&px<<endl;
getche();
return 0; }

Fundamentos de Programación y Algorítmica / EPIS 2020-I 1


Facultad de Ingeniería de Sistemas e Informática UNMSM

Operadores
Existen dos operadores especiales para trabajar con punteros & y el *.
 & devuelve la dirección de memoria de su operando
 * devuelve el contenido de la variable apuntada por el puntero

Declaración de punteros
Una variable tipo puntero se declara bajo el siguiente formato:
Formato:
< tipo de dato apuntado> *<identificador de puntero>

int identificador
float valido
char

El * tiene dos funcione, declarar variables puntero y acceder al interior de la celda.

USO
* &

El símbolo * se usa para DEFINIR una El símbolo & se usa para indicar la dirección
variable de tipo puntero. de una variable “normal”.

El símbolo * se usa para ACCEDER al valor El símbolo & se usa sólo en la invocación de
que guarda un puntero. funciones, de forma que se pone delante de
los parámetros reales de E/S.
Cuando un parámetro formal es de E/S en el
prototipo y cabecera se indica con un tipo Los & sólo se usan en el programa principal.
puntero, esto es, poniendo un * delante del
nombre.

En el cuerpo de la función los argumentos


formales que son parámetros de E/S se usan
con un * delante.

Los * sólo se usan en las funciones.

Fundamentos de Programación y Algorítmica / EPIS 2020-I 2


Facultad de Ingeniería de Sistemas e Informática UNMSM

Ejemplo

#include <stdio.h> Trazo


#include <iostream>
#include <conio.h> Dir varor
int main()
{ 100
int a, b, c, *p1, *p2;
&a a
p1 = &a; // Paso 1. La dirección de a es
asignada a p1 200
*p1 = 1; // Paso 2. p1 (a) es igual a 1. Equivale
a a = 1; &b b
p2 = &b; // Paso 3. La dirección de b es
asignada a p2 300
*p2 = 2; // Paso 4. p2 (b) es igual a 2. Equivale
&c c
a b = 2;
p1 = p2; // Paso 5. El valor del p1 = p2
*p1 = 0; // Paso 6. b = 0
400
p2 = &c; // Paso 7. La dirección de c es
asignada a p2 &p1 p1 *p1
*p2 = 3; // Paso 8. c = 3
cout<<a<<"\t"<<b<<"\t"<<c<<endl; //
Paso 9. ¿Qué se imprime?
500
*p1 = 1; // Paso 10. b = 1 &p2 p2 *p2
cout<<a<<"\t"<<b<<"\t"<<c<<endl; //
Paso 11. ¿Qué se imprime?
getche();
return 0;
}

Fundamentos de Programación y Algorítmica / EPIS 2020-I 3

También podría gustarte