Progetto su piu files (in C)

manzodrea
Ciao a tutti, vi pongo un nuovo problema:
devo creare un codice per un uso generale, all'interno di questo codice devo fare uso di una funzione (f(x)) qualunque. Il problema è: Posso creare due file oggetti di cui il primo contenente il codice e il secondo la funzione desiderata e richiamarla all'interno del primo?
Se si come faccio?
Grazie!!!
:D

P.S. Uso come compilatore il Dev C++.

Risposte
cozzataddeo
È semplice:
1) crei il file secondo.c e ci scrivi il corpo della tua funzione: supponiamo che sia
void bella_funzione(int dato){
...
}


2) crei il file secondo.h e riporti la dichiarazione del prototipo della funzione
extern void bella_funzione(int dato);    /* la parola chiave extern può essere omessa come pure il nome del parametro d'ingresso (ma non il tipo dato) */


3) crei il file primo.c, dove usi bella_funzione, e includi il file secondo.h
#include "secondo.h"

in questo modo la funzione risulta visibile nel file primo.c

manzodrea
Grazie taddeo, se ho capito bene, nel file secondo.c devo metterci il return (es. cosx+x)?

cozzataddeo
Non ho capito bene la tua domanda. Se la tua funzione serve per il calcolo di un valore numerico allora, di solito (ma non è l' unico metodo), il valore viene restituito all' esterno mediante l'istruzione return.
Ad esempio se la tua funzione esegue il calcolo $cosx+x$ allora sarà del tipo

#include <math.h>

...

double funz(double x){
   return (cos(x)+x);
}


Nel file "secondo.c" ho incluso il file "math.h" che contiene i prototipi delle funzioni matematiche messe a disposizione dal linguaggio C (serve per poter chiamare la funzione double cos(double)). Ho usato le parentesi angolari perché il file "math.h" è un file della libreria standard e non un file creato da me.

manzodrea
Ancora grazie Taddeo, hai capito benissimo.
Ciao

cozzataddeo
Di niente.

Buona programmazione!

:)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.