Punteros Lenguaje De Programacion

Páginas: 9 (2013 palabras) Publicado: 8 de junio de 2012
GUÍA DE ESTUDIO # 3
PUNTEROS O APUNTADORES

Los punteros proporcionan la mayor parte de la potencia al C y C++, y marcan la principal diferencia con otros lenguajes de programación.

Una buena comprensión y un buen dominio de los punteros en las manos del programador una herramienta de gran potencia. Un conocimiento mediocre o incompleto impedirá desarrollar programas eficaces.

Por talmotivo, es muy importante comprender bien cómo funcionan y cómo se usan.

La memoria de un ordenador está compuesta por unidades básicas llamadas bits. Cada bit sólo puede tomar dos valores, normalmente denominados alto y bajo, ó 1 y 0. Pero trabajar con bits no es práctico, y por eso se agrupan.

Cada grupo de 8 bits forma un byte u octeto. En realidad el microprocesador, y por lo tantonuestro programa, sólo puede manejar directamente bytes o grupos de dos o cuatro bytes. Para acceder a los bits hay que acceder antes a los bytes.

Cada byte tiene una dirección, llamada normalmente dirección de memoria.
La unidad de información básica es la palabra, dependiendo del tipo de microprocesador una palabra puede estar compuesta por dos, cuatro, ocho o dieciséis bytes. Se Habla en estoscasos de plataformas de 16, 32, 64 ó 128 bits. La referencia apunta indistintamente de direcciones de memoria, aunque las palabras sean de distinta longitud. Cada dirección de memoria contiene siempre un byte. Lo que sucederá cuando las palabras sean de 32 bits es que accederemos a posiciones de memoria que serán múltiplos de 4; Todo esto sucede en el interior de la máquina.

¿QUÉ ES UN PUNTERO?Un puntero es un tipo especial de variable que contiene, ni más ni menos que, una dirección de memoria. Por supuesto, a partir de esa dirección de memoria puede haber cualquier tipo de objeto: un char, un int, un float, un array, una estructura, una función u otro puntero. Será el programador el responsables de decidir ese contenido.

Intentemos ver con mayor claridad el funcionamiento delos punteros. Podemos considerar la memoria del ordenador como un gran array, de modo que podemos acceder a cada celda de memoria a través de un índice. Podemos considerar que la primera posición del array es la 0, vec[0].

Si usamos una variable para almacenar el índice, por ejemplo, índice=0, entonces vec[0] == vec[indice]. Prescindiendo de la notación de los arrays, el índice se comportaexactamente igual que un puntero.

El puntero índice podría tener por ejemplo, el valor 3, en ese caso, *índice tendría el valor 'valor3'.

Las celdas de memoria existirán independientemente del valor de índice, o incluso de la existencia de indice, por lo tanto, la existencia del puntero no implica nada más que eso, pero no que el valor de la dirección que contiene sea un valor válido de memoria.Dentro del array de celdas de memoria existirán zonas que contendrán programas y datos, tanto del usuario como del propio sistema operativo o de otros programas, el sistema operativo se encarga de gestionar esa memoria, prohibiendo o protegiendo determinadas zonas.

El propio puntero, como variable que es, ocupará ciertas direcciones de memoria.

En principio, debemos asignar a un puntero,o bien la dirección de un objeto existente, o bien la de uno creado explícitamente durante la ejecución del programa. El sistema operativo suele controlar la memoria, y no tiene por costumbre permitir el acceso al resto de la memoria.

Declaración de punteros

Los punteros se declaran igual que el resto de las variables, pero precediendo el identificador con el operador de indirección, (*),que leeremos como "puntero a".
Sintaxis:
<tipo> *<identificador>;
Ejemplos:

int *p1;
char *p2;
struct personas *p;

Los punteros siempre apuntan a un objeto de un tipo determinado, en el ejemplo,
"p1" siempre apuntará a un objeto de tipo "int".
La forma:
<tipo>* <identificador>;
con el (*) junto al tipo, en lugar de junto al identificador de variable,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • PUNTEROS PROGRAMACION EN C
  • Informatica Programacion Punteros
  • Punteros en lenguaje c
  • Lenguajes de programacion
  • Lenguajes de programacion
  • Lenguajes de programación
  • lenguaje de programacion
  • lenguajes de programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS