Existe una posibilidad, pero solo te sirve para cuándo das los datos a los arrays durante la definición. En caso contrario deberás darlo uno a uno.
Estándar C >= C99
#include<stdio.h>
typedef struct{
int hogares;
float ingresosA[5];
float ingresosB[5];
float promedioA[5];
float promedioB[5];
float desviacionA[5];
float desviacionB[5];
float varianzaA[5];
float varianzaB[5];
} anno;
int main(void) {
anno doce = {.ingresosA = {895, 789, 8745, 258, 4897}};
/********************************************************************************
Una definición posterior podría ser escrita así:
doce = (anno) {.ingresosA = {895, 789, 8745, 258, 4897}};
pero sigue sirviendo para una inicialización de la estructura completa.
para inicializar un bloque posterior se debe hacer valor por valor.
*********************************************************************************/
for(int i = 0; i < 5; ++i)
printf("%.0f\n", doce.
ingresosA[i
]); }