Указатель на терминируемый нулем массив указателей на структуры Application Status

Мне нужно создать указатель на терминируемый нулем массив указателей на структуры статуса приложения на основе:

typedef struct _wfs_vdm_status
{
WORD wDevice;
WORD wService;
LPWFSVDMAPPSTATUS * lppAppStatus;
LPSTR lpszExtra;
} WFSVDMSTATUS, * LPWFSVDMSTATUS;


typedef struct _wfs_vdm_appstatus
{
LPSTR lpszAppID;
WORD wAppStatus;
} WFSVDMAPPSTATUS, * LPWFSVDMAPPSTATUS;

но было очень трудно создать параметр lppAppStatus. Любая помощь будет высоко оценен

1 ответ

Поэтому мне немного неясно, какую из своих структур вы пытаетесь создать. Общий процесс создания массива _wfs_vdm_appstatus с нулевым символом в конце будет следующим

main (int argc, char **argv)
{
int NUMBER_OF_ELEMENTS=10;
int i = 0;

/* you would allocate your 10 elements and add one to null terminate them */

lppAppStatus = malloc (NUMBER_OF_ELEMENTS+1) * sizeof(LPWFSVDMAPPSTATUS);

/* each of these elements would need to have memory allocated */
for (i=0;i<NUMBER_OF_ELEMENTS;i++)
{
   lppAppStatus[i] = malloc(sizeof (struct _wfs_vdm_appstatus));
}

/* null terminate your array */
lppAppStatus[NUMBER_OF_ELEMENTS] = NULL;

}

Мой C немного ржавый, так что вам, возможно, придется немного поиграться с этим.

Другие вопросы по тегам