Autor Tema: punteros  (Leído 1425 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cucu

  • PIC12
  • **
  • Mensajes: 74
punteros
« en: 26 de Noviembre de 2008, 05:30:53 »
hola, tengo una duda con los punteros (creo, estoy casi segura que esta sintaxis es para ellos):

currentDescriptor = Descriptor->next;

La flecha (->), ¿para que sirve? ¿donde apunta currentDescriptor? gracias

Desconectado DarkVect

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 302
Re: punteros
« Respuesta #1 en: 26 de Noviembre de 2008, 10:17:29 »
La flecha en C se utiliza para acceder a una variable que pertenece a una estructura apuntada por un puntero. Ejemplo:

typedef struct
{
    int next;
    int next2;
} descriptor_structure;

descriptor_estructure *Descriptor = 0; //Inicializas un puntero a la estructura

Descriptor->next = 0; //Accedes a la variable next de la estructura apuntada

Hay que poner la flecha y no el . (punto) porque descriptor es un puntero, si lo hubieses declarado sin el * el acceso hubiese sido así:

Descriptor.next = 0;

Espero haberme explicado bien.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: punteros
« Respuesta #2 en: 26 de Noviembre de 2008, 10:50:57 »
eeeeexactamente. Vos tenes un puntero a una estructura, y si queres acceder a un elemento de esa estructura apuntada, se usa la flecha en lugar del punto.
Excelente explicacion DarkVect ;)

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado cucu

  • PIC12
  • **
  • Mensajes: 74
Re: punteros
« Respuesta #3 en: 26 de Noviembre de 2008, 11:35:15 »
Si, te has explicado perfectamente. Muchas gracias.

Saludos


 

anything