Punteros

Páginas: 8 (1972 palabras) Publicado: 10 de marzo de 2013
Punteros en C/C++

Punteros en C/C++

Metodología de la Programación II

Tema 1 1.3.1 Nociones elementales 1.3.1.1 Que es una variable? Una computadora opera manipulando direcciones de memoria y los valores almacenados en dichas direcciones. Un lenguaje de programación es una herramienta que permite al programador codificar operaciones binarias en un lenguaje mas cercano a nuestras lenguasnaturales. Un programa que realiza la traducción de instrucciones desde un lenguaje de programación dado al lenguaje de maquina es un compilador. Una variable es un recurso, entre otros, para manipular un dato binario de modo mas legible. Una variable es un identificador, al igual que el nombre de una función, este NOMBRE representa para la maquina una localidad de memoria donde el programa puedealmacenar y manipular un dato. Una declaración de variable como: int var; produce una asociación entre el nombre 'var' y un espacio de almacenamiento en memoria. Por lo tanto hay dos elementos relacionados con el nombre 'var': un valor que se puede almacenar allí y una dirección de memoria para la variable, algunos autores se refieren a estos dos aspectos como el "rvalue" y "lvalue" de lavariable. Además del identificador "var", tenemos la palabra "int" que nos indica el TIPO (type) de la variable. El tipo nos indica: 1. CUANTAS CELDAS DE MEMORIA (bytes) se asocian a ese nombre de variable. 2. DE QUE MODO SERAN INTERPRETADOS los datos que se encuentren en tal localidad de memoria. • Un byte es la menor unidad de información que pueden direccionar la mayoría de las computadoras. En lamayoría de las arquitecturas el tipo char ocupa un solo byte, por lo tanto es la unidad mínima. Un bool admite solo dos valores diferentes, pero es almacenado como un byte. El tipo integer ocupa generalmente 2 bytes, un long 4, double 8, y así con el resto de los tipos. • El otro punto es la relación entre LO QUE HAY en una celda de memoria y COMO ES INTERPRETADO. Lo que hay en una celda cuyaextensión es un byte es simplemente un conjunto de ocho estados posibles (8 bits) que a nivel hardware admiten dos estados diferenciales, estados que pueden ser interpretados como 'verdadero / falso', 0/1, o cualquier otro par de valores. Una celda de memoria del sector de datos, podría contener algo como lo siguiente:

Que es esto? Depende en gran parte del TIPO (type) que hayamos asociado a esa celda(y suponiendo que exista tal asociación). Ese valor interpretado como un hexadecimal es 0x61, en decimal es 97, y si fue asociada al tipo char representara la letra 'a', cuyo Ascii es igual a 97. En 36 Dpl. Ing. Carlos Balderrama Vázquez

Punteros en C/C++ ninguna localidad de memoria hay algo como la letra 'a', lo que encontramos son valores binarios que en caso de estar asociados a char y encaso de que lo saquemos en pantalla como char hará que veamos encendidos ciertos pixeles de pantalla, en los cuales reconoceremos una representación de la letra 'a'. La representación binaria de datos ocupa demasiado espacio, por ese motivo es preferible utilizar el sistema hexadecimal, además de ser muy fácil de traducir a binario es mas económico que este o el decimal. Observar los bytes de unsector de memoria de un programa facilita la comprensión sobre el modo en que cada tipo (type) se asocia a direcciones de memoria. Supongamos un programa que declara, define e inicializa las siguientes variables: int main() { int a = 5; long b = 8; char cad[ ]= "abcd"; char ch = '6'; char hh = 6; etc.... La representación de estos datos en memoria, en el segmento de datos, tal como lo muestra undebugger, tendrá el siguiente aspecto (se omiten caracteres problemáticos para navegadores y dejamos constancia que diferentes compiladores pueden ordenar los datos de otro modo): ffd0 ........................ ffe0 ............6abcd.. fff0 ....................... 20 20 20 20 00 8F 12 00 00 00 F6 FF BC 04 00 FF F6 F6 00 00 F6 FF C7 04 06 36 61 62 63 64 00 00 08 00 00 00 05 00 00 00 0B 01 00 00 00...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Punteros
  • Puntero
  • Punteros
  • Punteros
  • Punteros
  • Punteros
  • Los Punteros Laser
  • el puntero

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS