La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Punteros Universidad Nacional Mayor de San Marcos

Presentaciones similares


Presentación del tema: "Punteros Universidad Nacional Mayor de San Marcos"— Transcripción de la presentación:

1 Punteros Universidad Nacional Mayor de San Marcos
Facultad de Ciencias Matemáticas Punteros

2 Definición Un puntero o apuntador es una variable que contiene una dirección de memoria; normalmente esta dirección es la posición de otra variable de memoria. Si se tiene una variable ' p ' de tipo puntero que contiene una dirección de memoria en la que se encuentra almacenado un valor ' v ' se dice que ' p ' apunta a ' v '. Trabajar con punteros implica la no manipulación de los datos en sí, sino manejar las direcciones de memoria en la cuales estos residen.

3 Variables puntero Si una variable va contener un puntero, entonces tiene que declararse como tal. Una declaración de puntero consiste en un tipo de base, un * y el nombre de la variable. La forma general de declaración de una variable puntero es: tipo *nombre Donde tipo es cualquier tipo valido de C (el tipo base del puntero) y nombre es el nombre de la variable puntero. El tipo base del puntero define el tipo de variables a las que puede apuntar el puntero. Técnicamente, cualquier pito de puntero puede apuntar a cualquier lugar de la memoria, pero C asume a lo que apunta un puntero es a un objeto de su tipo base.

4 Los operadores de punteros
Existen dos operadores especiales de punteros: & y *. El & es un operador monario que devuelve la dirección de su memoria de su operando. El operador * es el complemento de *. Es un operador monario que devuelve el valor de la variable localizada en la dirección que sigue. Por ejemplo: m=&cuenta; /* Pone en m la dirección de la variable cuenta */ q=*m; /* Pone el valor de cuenta en q */

5 Ejemplos En C++ void swap(int *x, int *y) { int temp; temp = *x; // copia el valor apuntado por x a temp *x = *y; // copia el valor apuntado por y en la ubicación del puntero x *y = temp; // copia el valor de temp en la ubicación apuntada por y } En C# //Suma de dos números enteros private unsafe int Suma(int* a, int* b) return *a + *b;


Descargar ppt "Punteros Universidad Nacional Mayor de San Marcos"

Presentaciones similares


Anuncios Google