Ответ 1
(struct data*)pointer
будет указывать указатель на void на указатель на struct data
.
Я начал чувствовать себя комфортно с C, а затем я столкнулся с типом. Если у меня есть файл, указанный в файле *.h
struct data {
int value;
char *label;
};
и это в другом файле *.h
# define TYPE void*
Как мне передать указатель void на структуру, чтобы я мог использовать переменную "TYPE val", которая передавалась в функции? Например, если я хочу использовать значение, на которое указывает TYPE val, как его передать, чтобы передать это значение другим функциям?
(struct data*)pointer
будет указывать указатель на void на указатель на struct data
.
Указание указателя 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.