ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Trabajo Final Uip


Enviado por   •  8 de Octubre de 2013  •  856 Palabras (4 Páginas)  •  309 Visitas

Página 1 de 4

.4.1 Apuntadores

• Apuntadores e Indirección

• Operaciones Básicas

o Declaración e Inicialización

o Dereferenciar (Dereference)

o Aritmética del Apuntador

Apuntadores e Indirección

Un apuntador es una variable que almacena la dirección de la memoria de otra variable. Hemos visto ya en C++ que los tipos de datos dictan el rango y tipo de valores que una variable puede almacenar. Las variables de los tipos de datos que hemos examinado hasta ahora almacenan valores como por ejemplo enteros, números de punto flotante y cadenas de caracteres (strings). La variable apuntador es única ya que salva la dirección de la memoria de otra variable. La dirección de memoria es la localización específica en la memoria principal donde existe una variable durante la ejecución de un programa.

Los programadores usan apuntadores para acceder y manipular indirectamente otras variables. Este acceso y manipulación se considera "indirecta" puesto que se logra usando un apuntador en vez de la variable real que está siendo modificada. La "indirección" permite la creación de las estructuras de datos complejas y algoritmos poderosos. Por ejemplo, sin apuntadores e indirección no sería posible crear una estructura de datos de la lista encadenada.

Operaciones Básicas

Declaración e Inicialización

La declaración de una variable apuntador requiere el uso de cierta sintaxis desconocida. Una declaración del apuntador debe prefijar su nombre de variable con un asterisco (*). Esto significa para el compilador que la variable declarada es un apuntador. El listado 1 demuestra el declaración de algunas variables indicadoras.

1:

2:

3: int *int_ptr;

float *float_ptr;

char *char_ptr;

Listado 1 Declaración del Apuntador

Aunque los apuntadores solamente almacenan direcciones de la memoria, la declaración de una variable apuntador debe especificar un tipo de datos específico cuya dirección de memoria pueda almacenar el apuntador. Esto es porque las variables de diferentes tipos de datos pueden no utilizar necesariamente la misma cantidad de almacenaje en memoria. Para permitir el acceso y la manipulación indirecta de una variable usando un apuntador, el compilador debe saber el tamaño exacto de la variable. El listado 1 declara tres apuntadores. Ellos son declarados como un apuntador de tipo int, un apuntador de tipo float y un apuntador de tipo char, respectivamente.

La inicialización del apuntador también requiere algo de sintaxis nueva. No podemos simplemente inicializar un apuntador a una variable no-apuntador porque los apuntadores almacenan las direcciones de memoria y valores no regulares. En su lugar, debemos obtener la dirección de memoria de la variable. El operador address-of (&) regresa la dirección de la memoria de donde está almacenada la variable. El listado 2 declara una variable entera y fija 100 como su valor inicial. Luego declara un apuntador del tipo int, inicializado con la dirección de la variable i. En el contexto de este ejemplo, podemos decir que ptr "apunta" a i.

1:

2: int i = 100;

int *ptr = &i;

Listado 2 Inicialización del Apuntador

Dereferenciar (Dereference)

El acceso indirecto

...

Descargar como (para miembros actualizados) txt (6 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com