Computadoras Analogicas

Páginas: 8 (1764 palabras) Publicado: 30 de enero de 2013
Punteros
• • •

Introducción Qué son Para qué sirven y cómo se usan

Introducción Los punteros son una de las más potentes características de C, pero a la vez uno de sus mayores peligros. Los punteros nos permites acceder directamente a cualquier parte de la memoria. Esto da a los programas C una gran potencia. Sin embargo son una fuente ilimitada de errores. Un error usando un puntero puedebloquear el sistema (si usamos MS-DOS o Windows, no en Linux), y a veces puede ser difícil detectarlo. Otros lenguajes no nos dejan usar punteros para evitar estos problemas, pero a la vez nos quitan parte del control que tenemos en C.
o

Direcciones de variables

Al declarar una variable estamos diciendo al ordenador que reserve una parte de la memoria RAM para almacenarla. Cada vez queejecutemos el programa la variable se almacenará en un sitio diferente; eso no lo podemos controlar; depende de la memoria disponible y de otros varios factores. Puede que se almacene en el mismo sitio, pero es mejor no fiarse. Dependiendo del tipo de variable que declaremos, el ordenador reservará más o menos memoria. Como vimos en la sección Variables cada tipo de variable ocupa más o menos bytes.Por ejemplo, si declaramos un char, el ordenador reserva 1 byte (8 bits). Cuando finaliza el programa todo el espacio reservado queda libre.

Existe una forma de saber qué direcciones ha reservado el ordenador. Se trata de usar el operador & (operador de dirección). Vamos a ver un ejemplo: definimos la variable a y obtenemos su valor y dirección. #include main() { int a = 10; printf("Dirección de a = %p, valor de a = %i\n", &a, a ); } Para mostrar la dirección de la variable usamos %p en lugar de %i. Sirve para escribir direcciones de punteros y variables. El valor se muestra en formato hexadecimal. No hay que confundir el valor de la variable con la dirección donde está almacenada. La variable a está almacenada en un lugar determinado de la memoria y ese lugar no cambia mientras seejecuta el programa. El valor de la variable puede cambiar a lo largo del programa, lo cambiamos a voluntad mediante el código. Ese valor está almacenado en la dirección de la variable. El identificador (nombre) de la variable es equivalente a poner un nombre a una zona de la memoria. Cuando en el programa escribimos a, en realidad estamos diciendo, "el valor que está almacenado en la dirección dememoria a la que llamamos a". Qué son los punteros Ahora ya estamos en condiciones de ver lo que es un puntero. Un puntero es una variable un tanto especial. Con un puntero podemos almacenar direcciones de memoria. En un puntero podemos tener guardada la dirección de una variable. Veamos

la diferencia entre una variable puntero y las variables "normales".

En el dibujo anterior tenemos unarepresentación de lo que puede ser la memoria del ordenador. Cada casilla representa un byte de la memoria. Y cada número es su dirección de memoria. La primera casilla es la posición 00001. La segunda casilla es la posición 00002, y así sucesivamente. Supongamos que ahora declaramos una variable: char numero = 43. El ordenador guardaría, por ejemplo, esta variable en la posición 00003. Estaposición de la memoria queda reservada y ya no la puede usar nadie más. Además, esta posición a partir de ahora se denomina numero. Como le hemos asignado el valor 43, el valor 43 se almacena en la posición de memoria 00003.

Si ahora usáramos el programa siguiente: #include main() { int numero = 43;

printf( "Dirección de numero = %p, valor de numero = %i\n", &numero, numero ); } el resultadosería: Dirección de numero = 00003, valor de numero = 43 Hemos dicho que un puntero sirve para almacenar la direcciones de memoria. Muchas veces los punteros se usan para guardar las direcciones de variables. Como cada tipo de variable ocupaba un espacio distinto, cuando declaramos un puntero debemos especificar el tipo de datos cuya dirección almacenará. En el próximo ejemplo queremos utilizar un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Computador Analogico
  • Computador Analogico
  • computadores analogos
  • Computadora analogica
  • computador analogico
  • Cuales son las diferencias entre las computadoras Analógicas
  • computadoras digitales analogas
  • computadores analógicos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS