elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Punteros ** y *** en C. ¿Para que sirven?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Punteros ** y *** en C. ¿Para que sirven?  (Leído 37,972 veces)
Agente Naranja


Desconectado Desconectado

Mensajes: 535


uguu~


Ver Perfil WWW
Punteros ** y *** en C. ¿Para que sirven?
« en: 16 Septiembre 2007, 16:09 pm »

Hola, leyendo un libro de programación en C, en la parte de punteros, me ponen una pregunta así:

¿Cual debe ser el tipo de var1, var2, var3?
Código
  1.  
  2.    var1 = 5.5;
  3.    var2 = &var1;
  4.    *var3 = var2;
  5.    *var2 = var1 + **var3;

Luego, var1 se ve que es float, var2 es un pointer, pero llegados a var3 me confundí un poco.
*var3=var2 quiere decir, que el valor al que apunta la dirección en memoria almacenada en var3 es igual a var2, o sea a otra dirección en memoria. Lo cual, como leí, hace que var3 sea un float **var3.

Entonces, ¿cual es la utilidad de estos "apuntadores a apuntadores"??  Además, he visto otros como ***Ptr, todavía peor. ¿Cuál puede ser la utilidad de estas variables?

Gracias.


En línea

Nanocity

Desconectado Desconectado

Mensajes: 124


Ver Perfil
Re: Punteros ** y *** en C. ¿Para que sirven?
« Respuesta #1 en: 16 Septiembre 2007, 19:05 pm »

Pues la principal aplicación de los apuntadores dobles (**int) es por ejemplo hacer matrices dinámicas, osea tener un vector de vectores (o array de array's), luego también para modificar un puntero en función lo tienes que pasar por referencia asique tambiém necesitarás un puntero doble.

En principio no se me ocurren más aplicaciones pero vamos... en cuanto al ejercicio del libro de C, la verdad esque no entiendo muy bien para que ponen ese tipo de ejemplos (sí, entiendes como referirte al contenido de un puntero, etc) que no reflejan un uso muy práctico de los punteros pero vaya...

Un saludo.


En línea

Eran nueve, nueve bajo las tres lunas,
bajo la luz del atardecer de otoño.
Mientras el mundo caía, ellos se alzaban
hacia el corazon de la historia
EvilGoblin


Desconectado Desconectado

Mensajes: 2.323


YO NO LA VOTE!


Ver Perfil
Re: Punteros ** y *** en C. ¿Para que sirven?
« Respuesta #2 en: 17 Septiembre 2007, 14:10 pm »

Es como te dijeron... un puntero con (**) estamos hablando de un puntero de dos dimensiones.. (arrays) var3 seria algo asi float var3[]

mayormente no tiene mucha logica hacer un puntero a un puntero... pero la unica utilidad que le veo es digamos una Agenda no sabes la cantidad de contactos que vas a tener

si haces nombre[100][20] quizas sea poco.. .o quizas mucho.... no sabrias cuantos espacio de memoria resevar

pero si haces

**nombre

y luego le das el tamaño que quieras con malloc y lo amplias con realloc cada vez que vas a añadir un nuevo contacto.. nunca tendrias problemas de quedarte sin espacio en memoria y te asegurarias de usar solo lo justo que necesitas...

=)

Suerte ^^
En línea

Experimental Serial Lain [Linux User]
theinzide

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Punteros ** y *** en C. ¿Para que sirven?
« Respuesta #3 en: 25 Noviembre 2012, 06:15 am »

un puntero toma la direccion de memoria de una variable, mientras que un doble puntero toma la direccion de memoria de un puntero y los triple punteros apuntan a la direccion de un doble puntero

int a = 1;

int *p1 = &a;

int *p2 = p1;

int **p3 = &p2;

int ***p4 = &p3;

entonces p1 y p2 tendria la direccion de a, mientras que p3 tendria la direccion de p2 y p4 tendria la direccion de p3.
« Última modificación: 25 Noviembre 2012, 06:20 am por theinzide » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
firmware!!! ¿para que sirven?
Software
aliteroid 1 3,375 Último mensaje 10 Abril 2006, 17:21 pm
por el-brujo
para que sirven los puos en en un dvd?
Multimedia
druguito 1 2,154 Último mensaje 13 Julio 2006, 09:58 am
por CHI<`;´>NO©
Que adaptadores sirven para wifislax???
Hacking Mobile
rtap0 3 8,264 Último mensaje 2 Abril 2007, 01:48 am
por Gospel
para que sirven estas funciones?
Programación Visual Basic
Sai-To 3 2,839 Último mensaje 11 Marzo 2008, 14:04 pm
por ~~
Para que sirven los Punteros?
Programación C/C++
..:ALT3RD:.. 6 9,548 Último mensaje 16 Octubre 2011, 19:59 pm
por pucheto
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines