есть код примерно такого вида:
typedef struct
{
token_t type;
void* value;
} pair_t;
...
int* p;
char* q;
double* c;
pair_t arr[] = {
{ TOKEN1, &q },
{ TOKEN2, &p }
{ TOKEN3, &c }
};
Этот массив передается в функции, которые инициализурют поле value: выделяют память, и присваивают значения. Но на выходе переменные p, q, c == NULL. Почему так? И как сделать, что бы память выделялась конкретно для них?
Спасибо.