El punto esta en escribir desde la direccion de memoria donde esten los datos que queremos el tamaño de estos mismos y para eso usamos sizeof.Cuidado con el ejemplo de JuanK que no es del todo correcto ya que esta haciendo sizeof de c y al ser este un puntero nos devuelve el tamaño del mismo (4 en 32 bits, 8 en 64 bits) y no el tamaño de la estructura a la que apunta. Por eso yo siempre recomiendo usar directamente el tipo y no el puntero (tambien se puede hacer sizeof del puntero).Código: Text fwrite(c, sizeof(*c), 1, arch);fwrite(c, sizeof(Componente), 1, arch);