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