У меня есть массив произвольных значений, поэтому я определил его как массив указателей void, поэтому я могу указать на любую информацию (например, int
, массивы символов и т.д.). Однако, как я действительно назначаю ему int
?
Возьмем, к примеру, эти инициализации:
void* data[10];
int x = 100;
Моя интуиция подумает об этом, но это дает ошибку компиляции:
data[0] = malloc(sizeof(int));
*(data[0]) = x;
Также я подумал об использовании &x
, но я бы взял адрес локальной переменной, которая (по моему мнению) была бы очищена после выхода из процедуры. Итак, если у меня есть локальная переменная x
, как я могу правильно ее перенести в тип указателя void?