Cos' ha che non va la funzione init?
Mi da
[Linker error] undefined reference to `init'


codice:
#include <stdio.h>
#include <stdlib.h>
#define MAX 20

 struct app{
        int ora;
        int min_d;
        char attivita;
        };

typedef struct app appuntamento;


int random_N(int min, int max);
char random_L(char min, char max);
void init(appuntamento *app); 
int main(int argc, char *argv[])

{
    
    appuntamento a[MAX],app;
    int i,risposta;
    
    
    i=0;
    while(i<=MAX){
    printf("Ora: ");
    scanf("%d", &a[i].ora);
    printf("Durata: ");
    scanf("%d", &a[i].min_d);
    printf("Attivita': ");
    fflush(stdin);
    scanf("%c", &a[i].attivita);
    printf("Per inserire un altro appuntamento digitare 1, altrimenti 0: ");
    scanf("%d",&risposta);
    if(risposta==1){
             i++;
             }else{
                   i=MAX+1;}}
                   
                   
    init(&app);                    
    system("PAUSE");
    return 0;
}
  

 int random_N(int min, int max){
     return rand()%(max-min+1)+min;

char random_L(char min, char max){
     return rand()%(max-min+1)+min;}
     
     
void init(appuntamento *app){ 
     app->ora= random_N(0,23);
     printf("%d", app->ora);
     printf("Durata: ");
     scanf("%d", &app->min_d);
     if((app->min_d)<15 || (app->min_d>120)){
                       printf("durata appuntamento non compresa tra 15 e 120");
                       scanf("%d", &app->min_d);}
     app->attivita= random_L('A','F');
     printf("%c", app->attivita);
}}