Perhaps this explains a little bit on pointers and structures.
Code:
/* Definition of a structure */
struct datastruct
{
int data1;
int data2;
};
/* Pointer to structure */
typedef struct datastruct *pdatastruct;
/* Instance of structure */
struct datastruct mydatastruct;
/* Pointer to instance of structure */
pdatastruct *pmydatastruct;
/* Let pointer point to mydatastruct */
pmydatastruct = &mydatastruct;
/* Access to members of structure */
mydatastruct.data1 = 1;
mydatastruct.data2 = 2;
/* Acces members using pointer */
pmydatastruct->data1 = 3;
pmydatastruct->data2 = 4;