Use malloc()
Code:
my_struct **array;
array = malloc(sizeof(*my_struct) * number_of_elements_you_want);
That will allocate so many pointers. But you may also want to allocate memory to hold the structs. That needs more mallocs per struct.
Code:
array[i] = malloc(sizeof(my_struct));
Then you access these by array[i]->struct_element_name
Maybe you just want an array of structs:
Code:
my_struct *array;
array = malloc(sizeof(my_struct) * number_of_elements_you_want);
Then you access these by array[i].struct_element_name