Intentando crear un programa bastante sencillo me encontré con un error a la hora de compilar que no soy capaz de resolver. El programa consiste en declarar una variable struct con un array de diez elementos enteros y un numero entero, y realizar la media aritmética de los elementos del array multiplicados por el numero entero.
El codigo fuente es el siguiente:
Y el error que me aparece a la hora de compilar es:
Agradeceria una ayuda ya que no es la primera vez que me da este error a la hora de utilizar una variable struct en una funcion.
			El codigo fuente es el siguiente:
Código [Seleccionar] 
#include<stdio.h>
float media (struct ejemplo x)
{
	float res;
	int i;
	for(i=0; i<10; ++i)
	{
		res += (x.v[i] * x.k);
	}
	res /= (i+1);
	return res;
}
struct ejemplo
{
	int v[10];
	int k;
};
int main()
{
	struct ejemplo a;
	int j, q;
	
	for(q=0; q<10; ++q){
		a.v[q] = q+1;}
	a.k = 2;
	
	printf("El vector ejemplo es: ");
	for(j=0; j<10; ++j){
		printf("%3d", a.v[j]);}
	printf(", y el numero es %d\n", a.k);
	printf("La media aritmetica sera: %f", media(a));
	return 0;
}Y el error que me aparece a la hora de compilar es:
Citarmedia.c:3:29: error: el parametro 1('x') tiene tipo incompleto
Agradeceria una ayuda ya que no es la primera vez que me da este error a la hora de utilizar una variable struct en una funcion.