В C99 вы можете назначить каждую структуру в одной строке. Я не думаю, что вы можете назначить массив структур в одной строке.
C99 вводит составные литералы. См. Статью доктора Доббса здесь: Новые C: составные литералы
theTest[0] = (test_t){7,8,9};
theTest[1] = (test_t){10,11,12};
Вы можете назначить указатель следующим образом:
test_t* p;
p = (test_t [2]){ {7,8,9}, {10,11,12} };
Вы также можете использовать memcpy:
memcpy(theTest, (test_t [2]){ {7,8,9}, {10,11,12} }, sizeof(test_t [2]);
Выше тестировалось с gcc -std = c99 (версия 4.2.4) в linux.
Вам следует прочитать статью доктора Доббса, чтобы понять, как работают составные литералы.