Grazie della risposta!
Ho provato a fare così ma ancora non riesco a risolvere, posto il codice.
Questo è il file "main.c"
codice:
#include "funzione.c"
#include <stdio.h>








unsigned dati_comuni[]={2,5,7,1,65,34,8,10};
int main(void)
{

ordina_dati();


    for (int i=0; i<sizeof(dati_comuni)/sizeof(dati_comuni[0]); i++) {
printf("elemento %d vale %d\n",i,dati_comuni[i]);
    }

    return 0;
}

Questo invece è il file che ho chiamato "funzione.c". Il compilatore mi segnala errore quando provo a calcolarmi la lunghezza dell'array tramite operatore sizeof. Come posso fare per sapere la lunghezza di un array che è stato dichiarato in un altro file??
codice:
#include <stdio.h>
#include <string.h>






void ordina_dati(void){
    int i,j,min,temp,len;

    extern unsigned int dati_comuni[];


    len=sizeof(dati_comuni)/sizeof(dati_comuni[0]);

    for(i=0; i<len-1; i++)
    {
        min = i;

        for(j=i+1; j<len; j++)
            if(dati_comuni[j] < dati_comuni[min])
                min = j;

        temp=dati_comuni[min];
dati_comuni[min]=dati_comuni[i];
        dati_comuni[i]=temp;
    }

}