beppegrillo
13-11-2004, 13:39
Dovrei passare una matrice bidimensionale ad una funzione, la cui dimensione è determinata a run- time, siccome il C mi vieta di inserire nel prototipo della funzione una matrice bidimensionale che non abbia almeno la dimensione dell'ultimo elemento specificato.
esempio void a (float a[][49]) ok
void a (float a[][] ) no
Ho letto che per superare questo problema andava passato un puntatore di puntatore alla funzione
void a(float **a)
così sembra andare, solo se dopo aver effettuato degli accessi alla matrice passata in questo modo, il programma và in segmentation fault.
Come risolvo?
p.s In a posso accedere tranquillamente come se fosse una matrice normale e quindi a[][], oppure dovrei utilizzare l'aritmetica dei puntatori?
tnx:)
esempio void a (float a[][49]) ok
void a (float a[][] ) no
Ho letto che per superare questo problema andava passato un puntatore di puntatore alla funzione
void a(float **a)
così sembra andare, solo se dopo aver effettuato degli accessi alla matrice passata in questo modo, il programma và in segmentation fault.
Come risolvo?
p.s In a posso accedere tranquillamente come se fosse una matrice normale e quindi a[][], oppure dovrei utilizzare l'aritmetica dei puntatori?
tnx:)