Modifica di prototipi e dichiarazioni di funzioni

di il
1 risposte

Modifica di prototipi e dichiarazioni di funzioni

Questo è la struttura del programma:

void apri(void);
void inserisci(void);
void cerca(void);
void aggiorna(void);
void elimina(void);
void visualizza(void);
void salva(void);

struct comp
{
    int code;
    char name[27];
    char des[52];
    int disp;
    struct comp *n;
};

struct comp *comps = 0;

void (*cmd[])(void) = {apri, inserisci, cerca, aggiorna, elimina, visualizza, salva};

int main()
{
int c;

for(;;)
{
scanf("%i", &c);
(*cmd[c])();
}
}


Come devo modificare i prototipi e le dichiarazioni delle funzioni e il vettore di puntatori a funzione in modo da dichiarare comps nella funzione main e passarlo come parametro a tutte le altre funzioni?

1 Risposte

  • Re: Modifica di prototipi e dichiarazioni di funzioni

    Ci sono 2 alternative:
    // Dichiarazione globale (più veloce ma meno ordinata)
    # include <qualcosa>
    int Variabile;
    int Funz();
    int main () // Ecc...
    
    // Dichiarazione locale (meno veloce soprattutto se passata a molte funzioni poichè è come se venisse ridichiarata)
    
    # include <qualcosa>
    
    int Funz1(int a);
    int Funz2(int a);
    
    int main() {
        int a = 4;
        printf("%d, %d", Funz1(a), Funz2(a));
    
        return 0;
    }
    
    int Funz1(int a) {
        return a * 2;
    }
    
    int Funz2(int a) {
        return a / 2;
    }
Devi accedere o registrarti per scrivere nel forum
1 risposte