Si j'ai un pointeur vide, comment puis-je y mettre un int?

J'ai un tableau de valeurs arbitraires, donc je l'ai défini comme un tableau de pointeurs void, donc je ne peux point à tout type d'information (comme intdes tableaux de caractères, etc). Cependant, comment puis-je attribuer une int?

Prendre l'exemple de ces initialisations:

void* data[10];
int x = 100;

Mon intuition pense cela, mais cela donne une erreur de compilation:

data[0] = malloc(sizeof(int));
*(data[0]) = x;

Aussi j'ai pensé à utiliser &xmais je voudrais prendre l'adresse d'une variable locale, qui (à ma connaissance) serait effacé après la sortie de la procédure. Donc, si j'ai une variable locale xcomment pourrais-je l'obtenir dans un vide de type pointeur de variable correctement?

source d'informationauteur pbean