Если не пугает небольшая кривость, то можно сделать так
Код
typedef struct
{
int val;
}t_mytype;
#define XNEXT (__LINE__+1200)
const t_mytype X_struct_array[] = {
#include "x.h"
};
и файл x.h
Код
{XNEXT},
{XNEXT},
{XNEXT},
{XNEXT},
{XNEXT},
{XNEXT},
{XNEXT},
{XNEXT},
{XNEXT},
Естественно, на x.h накладываются ограничения: одна строка - один элемент, пропусков быть не должно.
Результат после препроцессора таков:
Код
typedef struct
{
int val;
}t_mytype;
const t_mytype X_struct_array[] = {
{(1+1200)},
{(2+1200)},
{(3+1200)},
{(4+1200)},
{(5+1200)},
{(6+1200)},
{(7+1200)},
{(8+1200)},
{(9+1200)},
};
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин