Определите структуру следующим образом:
struct data_t
{
void *pointer;
int magic_number;
};
Затем используйте следующий массив:
data_t values[100]; //100 is just for example
А может, вам нужен такой двумерный массив:
data_t values[100][100]; //100s are just for example