Выделение указателя void для структуры

Я начал чувствовать себя комфортно с C, а затем я столкнулся с типом. Если у меня есть файл, указанный в файле *.h

struct data {
    int value;
    char *label;
};

и это в другом файле *.h

# define TYPE      void*

Как мне передать указатель void на структуру, чтобы я мог использовать переменную "TYPE val", которая передавалась в функции? Например, если я хочу использовать значение, на которое указывает TYPE val, как его передать, чтобы передать это значение другим функциям?

Ответы

Ответ 1

(struct data*)pointer

будет указывать указатель на void на указатель на struct data.

Ответ 2

Указание указателя void на структуру может быть выполнено в следующих

void *vptr;
typedef struct data
{
   /* members */
}tdata;

для этого мы можем придать тип struct скажем, u хотите отправить этот vptr как структурную переменную в некоторую функцию

то

void function (tdata *);
main ()
{
    /* here is your function which needs structure pointer 
       type casting void pointer to struct */

    function((tdata *) vptr);
}

Примечание: мы можем указывать указатель void на любой тип, который является основной целью указателей void.