Bem, estou fazendo um trabalho para a faculadade mas em umas das funções que criei usei um struct, que já tinha usado em outras funções mas ele da syntax error e não renho a minima ideia do porque.  consultas.c  #include "funcoes.h"
void consulta_vendas(char *vendas, char *auxiliar)
{
    FILE *a, *v;    
    vendas venda;
    int dia, mes, ano;
    char diac[3], mesc[3], anoc[6];
    int dia2, mes2, ano2;
    char dia2c[3], mes2c[3], ano2c[6];
    int contv, x;
    float vtotal;    
    clrscr();
    v = fopen(vendas, "rb");
    verif_ab(v);
    a = fopen(auxiliar, "rb");
    verif_ab(a); 
    fseek(a, sizeof(int) * 2, SEEK_SET);
    fread(&contv, sizeof(int), 1, a);
    printf("\t\t************   CONSULTA DE VENDAS   ************\n\n\n\n\n");  
    printf("Digite o periodo a ser consultado: (DD/MM/AAAA)\n");
    printf("  /  /     a   /  /    \n");
    enter_data(1, 7, diac, mesc, anoc);
    dia = atoi(diac);
    mes = atoi(mesc);
    ano = atoi(anoc);
    enter_data(14, 7, dia2c, mes2c, ano2c);
    dia2 = atoi(dia2c);
    mes2 = atoi(mes2c);
    ano2 = atoi(ano2c);
    clrscr();
    printf("Exibindo vendas feitas no periodo entre %d/%d/%d e %d/%d/%d:\n\n", dia, mes, ano, dia2, mes2, ano2);
    vtotal = 0;
    for(x=0; x<contv; x++)
    {
       fseek(v, sizeof(vendas)*x, SEEK_SET);
       fread(&venda, sizeof(vendas), 1, v);
       if(vendas.ano > ano && venda.ano < ano2)
       {
          if(venda.mes > mes && venda.mes < mes2)
          {
             if(venda.dia > dia && venda.dia < dia2)
             {
                 printf("Nome: %s\n", venda.nome);             
                 printf("Quantidade: %d\n", venda.quantidade);                 
                 printf("Valor Total: R%c%.2f\n\n", 36, venda.total_venda); 
                 printf("Data da Compra: %d/%d/%d\n\n", venda.dia, venda.mes, venda.ano);
                 printf("**************************************************************************************\n\n"); 
                 vtotal += venda.total_venda;       
             }          
          }          
       }     
    }
    printf("*********************************");
    printf("*                               *");
    printf("*********************************");
    getch();
    fclose(a);
    fclose(v);           
}
funcoes.h
#include <stdio.h>
#include <stdlib.h>
#include <conio2.h>
typedef struct cadastro
{
   char nome[50];
   int codigo;   
   float preço;
   int estoque;        
}cadastro;
typedef struct vendas
{
    float total_venda;
    int codigo;   
    int quantidade;
    int dia, mes, ano; 
    char nome[50];   
} vendas;
int exib(char *estoque, char *auxiliar);
void consulta_vendas(char *vendas, char *auxiliar);
void enter_data(int curx, int cury, char *dia, char *mes, char *ano);
void cadastro_produtos(char *estoque, char *auxiliar);
int del_produtos(char *estoque, char *auxiliar);
int menu(char *esc);
int menu_cadastro(char *esc);
int menu_consultas(char *esc);
int menu_consultas_estoque(char *esc);
void ordem(char *estoque, int cont);
int pesquisa_codigo(char *estoque, char *auxiliar);
void verif_arq(char *estoque, char *auxiliar, char *vendas);
int verif_ab(FILE *p);
void verif_cod(int cod, int cont, int *aux, char *estoque);
O erro é 
6 J:\Faculdade\LTP\Trabalho LTP\consultas.c syntax error before "venda" Acho que não é necessario postar as outras funções mas se quiserem. Agradeço a que puder ajuda.