![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
![]() Hola,
siento hacer una pregunta tan amplia. Creo que sé 'qué' es un puntero y su utilización básica, pero no consigo entender porqué la gente dice que son tan importantes, tan útiles...que lo son todo, vamos. No sé si alguien me pudiese orientar un poco, se lo agradecería xD, he estado googleando, pero he encontrado únicamente cómo se utilizan, para arrays...etc. Un saludo, Geru.
__________________
Mi Blog --------------------- Universidad de Deusto ESIDE-Escuela Superior de Ingenieros Deusto |
#2
|
||||
|
||||
Saludos al foro y felíz 2008
![]() cuando arranca el sistema, el cargador de SO tiene una referencia (puntero o dirección) a un sector del disco duro, este se carga en memoria y continúa el proceso de arranque. Cuando utilizas una variable, en realidad estás usando un puntero apuntando (valga la rebuznancia) a una zona de memoria. Cuando abres un archivo necesitas un puntero para leer y escribir, éste contiene la referencia a la localización física en el DD donde reside lo que quieres leer o escribir, si necesitas usar memoria RAM, necesitas reservarla y la manera de saber dónde está es con un puntero que hace referencia al byte inicial... El SO lleva el control de muchas de estas acciones por lo que no tienes que preocuparte o saber que pasa. Hablando de lenguajes de alto nivel, tienen un nivel de abstracción que no te das cuenta que usas punteros, se han implementado de manera que su manejo sea transparente y uno como programador no se preocupe por asignar y liberar manualmente la memoria que se necesita. Con los de bajo nivel, como ensablador, sí estás más conciente de que usas direcciones de memoria y por supuesto uno debe liberar lo que reserva de la memoria. Por ejemplo, en mis tiempos de Turbo Pascal 7, mi método preferido de dibujar la pantalla en modo texto era escribir directamente al buffer de memoria, y no utilizaba los clásicos writeln, lograba efectos de sombras, guardar el contenido de la pantalla, y todo con punteros; hablando de la operación del SO, puedes alterar (hackear) la ejecución normal del sistema con solo cambiar un número en una dirección de memoria específica, siendo su significado una dirección donde reside código ejecutable. No soy muy bueno con explicaciones técnicas... así que alguien me explique... ![]()
__________________
eLcHiCoTeMiDo - Rompecorazones profesional Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos? Salva a un nylon, usa prendas de piel de foca ![]() |
#3
|
||||
|
||||
Creo que fue roman quien dijo en otro hilo que, a día de hoy, en delphi se pude programar casi cualquier cosa sin utilizar punteros. Es verdad que se ha llegado a un nivel de abstracción donde prácticamente no se utilizan punteros, pero siguen ahí.
Su utilidad es evidente, hacer referencia a variables creadas en tiempo de ejecución. Por ejemplo, si queremos crear una lista de elementos de la que no conocemos previamente el numero de elementos. También son útiles para operaciones con matrices (arrays), por ejemplo cuando manejamos gráficos. Es verdad que delphi cuenta con arrays, arrays dinámicos, objetos, listas de objetos, etc ... pero aun así hay cosas para los que los punteros siguen siendo necesarios, por ejemplo para manejar la API de windows. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Utilidades para mejorar el IDE de Delphi | martinzcr | Varios | 1 | 14-09-2007 12:43:40 |
Las cosas que tienen los niños ... | gluglu | Humor | 4 | 18-05-2007 01:46:49 |
Utilidades en un PenDrive: Antivirus etc. Para ejecutarlo desde el mismo, donde sea | Wonni | Seguridad | 2 | 19-02-2007 01:08:08 |
Que tan buen pulso tienen? | jacanche | La Taberna | 5 | 22-01-2007 11:24:30 |
utilidades de los tipos string | ercrizeporta | Varios | 5 | 26-06-2005 10:07:41 |
![]() |
|