TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: cucu en 26 de Noviembre de 2008, 05:30:53

Título: punteros
Publicado por: cucu 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
Título: Re: punteros
Publicado por: DarkVect 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.
Título: Re: punteros
Publicado por: gera 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 ;)
Título: Re: punteros
Publicado por: cucu en 26 de Noviembre de 2008, 11:35:15
Si, te has explicado perfectamente. Muchas gracias.

Saludos