Указатель на терминируемый нулем массив указателей на структуры 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 немного ржавый, так что вам, возможно, придется немного поиграться с этим.