それとも、初期化しているか、していないかは判断できないのでしょうか?
typedef struct
{
int a,b,c;
} HOGE;
void hogee
{
HOGE hoge[10];
hoge[0].a=hoge[0].b=hoge[0].c=0;
hoge[1].a=hoge[1].b=0;
for(int i=0;i<10;i++)
{
if(hoge[i]のaが初期化していない)
{
hoge[i].a=hoge[i-1].a;
}
if(hoge[i]のbが初期化していない)
{
hoge[i].a=hoge[i-1].b;
}
if(hoge[i]のcが初期化していない)
{
hoge[i].c=hoge[i-1].c;
}
}
}