Primero, el código ponlo entre etiquetas GeSHi, seleccionando el lenguaje que usas.
Segundo, ese código tiene problemas lo cojas por donde lo cojas.
Ahora la pregunta es, quieres usar un arreglo o una <struct>?? Si quieres usar un arreglo para 5 datos de tipo <int> tienes que crear un arreglo de tamaño 5, como es lógico y acceder a cada posición del arreglo con los índices {0,1,2,3,4}.
const int MAX_SIGNALS = 5;
int signals[MAX_SIGNALS];
for(int i = 0; i < MAX_SIGNALS; i++){
printf("Introduce numero para guardar en la posicion %d del arreglo", i
); scanf("%d", &signals
[i
]); }
Si lo que quieres es usar una <struct> primero declara la <struct> antes del <main> para después usarla dentro de este.
struct Signal{
int a, b, c, d, e;
};
int main(){
Signal mySignal;
printf("Introduce primer numero: "); // asi con todos los numeros
}
Dejar claro que esto no es un arreglo, es una estructura, esto está más orientado a la programación orientada a objetos POO. Por lo que estás creando un objeto <mySignals> de tipo <Signal> y un objeto de tipo <Signal> está compuesto internamente de 5 enteros.
Si quieres mezclar ambas cosas, que es lo que parece que estabas intentando con ese código, lo que hay que hacer es crear un arreglo de Signals. Entonces creamos por ejemplo un arreglo de tamaño 2 y cada uno de sus elementos {0,1} serán un objeto de tipo <Signal>.
struct Signal{
int a, b, c, d, e;
};
int main(){
Signal mySignals[2];
// para acceder por ejemplo al segundo entero del primer objeto sería mySignals[0].b
}
Ahora ya es decisión tuya usar lo que creas más conveniente para tu programa. Suerte.