purtroppo sono abbastatnza arrugginito in c, vi spiego il problema: ho un array di strutture da me realizzate, per semplicità diciamo:
Codice: Seleziona tutto
//my struct
typedef struct _apoint {
int x;
int y;
} point;
devo passare l'array ad una funzione che lo manipola . tale funzione è generica e fa parte di una libreria scritta da me ma a cui linko staticamente diversi eseguibili che devo gestire. non mi ricordo come (se) fare per far capire la dimansione del vettore alla funzione. pensavo di fare un prototipo di funzione tipo:
Codice: Seleziona tutto
//prototype
void funzione_libreria(point *ptr);
e di passare l'array tramite la chiamata:
Codice: Seleziona tutto
int main () {
point data[10];
funzione_libreria(data);
//...
return 0;
}
Codice: Seleziona tutto
void funzione_libreria(point *ptr) {
//...
int dimension=(int) sizeof(ptr)/sizeof(ptr[0]);
//...
}
qualche anima pia mi ricorda come fare? o dove leggere come fare? denghiù!
M



