Modulo utile
//interfaccia del modulo: file utile.h
/*specifica della funzione scambia*/
void scambia(int *x, int *y);
//dichiarazione di altre funzioni..
//cliente: può usare le risorse e i servizi esportati dal modulo
//implementazione del modulo: file utile.c
/*commenti su progettazione e realizzazione della funzione scambia*/
void scambia(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}
//definizione altre funzioni..
Modulo vettore
//file vettore.h
void input_array(int a[], int n);
void output_array(int a[], int n);
void ordina_array(int a[], int n);
int ricerca_array(int a[], int n, int elem);
int minimo_array(int a[], int n);
..
//file vettore.c
#include <stdio.h>
#include "utile.h" //contiene funzione scambia
int minimo_i(int a[], int i, int n); //dichiarazione locale
void input_array(int a[], int n) {..}
void output_array(int a[], int n) {..}
void ordina_array(int a[], int n) {..}
int ricerca_array(int a[], int n, int elem) {..}
int minimo_array(int a[], int n) {..}
int minimo_i(int a[]m, int i, int n) {..} //usata da ordina_array
..
Programma principale
//file ordina_array.c
#include <stdio.h>
#include "vettore.h"
#define MAXELEM 100
int main() {..}
//modulo client del modulo vettore