Если вы пытаетесь решить только проблему читабельности, вам следует подумать об использовании инициализатора структуры:
typedef struct { int a,b,c,d,e } data;
data g_data[10];
int i;
for (i=0;i<10;i++)
{
data t={i,i*2,i*3,i*4,i*5 }; /* non-constant initializers are supported with C99, C++, GNU-C or MSVC..*/
g_data[i]=t; /* the optimizer will turn this into direct stores.. */
}
Если вы используете gcc (или компилятор C99, спасибо Dietrich Epp за напоминание), то вы даже можете написать:
for (i=0;i<10;i++)
{
g_data[i]=(data){i,i*2,i*3,i*4,i*5 };
}