| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  09-05-2005, 20:13 | #1 | 
| Senior Member Iscritto dal: Nov 2000 
					Messaggi: 279
				 | 
				
				[C]Array Multidimensionale
			 
		dunque...nessun problema nel dichiararli! int a[1][1]; Il vero problema sono le funzioni che devono accettare come parametro un array multidimensione a prescindere dalla dimensione come le dicchiaro?? int funz(int **a) oppure int funz(int *a[]) Giusto?? e' lecito?? ...il problema è chiamare la funzione..che cosa gli devo passare senza far scattare il warning del compilatore?? e come recupero poi i valori all'interno della funzione?? avevo pensato che dato che anche nella dichiarazione s[][] si assume s come puntatore bastasse usare (per richiamare i valori) int r = a[i][j]...invece non funziona e neppure int r = (*(*(a+i)+j)); mi date una mano?? 
				__________________ In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero | 
|   |   | 
|  10-05-2005, 00:37 | #2 | 
| Senior Member Iscritto dal: Apr 2000 Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29 
					Messaggi: 53971
				 | 
		Strano dovrebbe funzionare denza problemi...
		 | 
|   |   | 
|  10-05-2005, 09:45 | #3 | 
| Senior Member Iscritto dal: Nov 2003 Città: Pordenone - Tarvisio 
					Messaggi: 2451
				 | 
		Quando passi un array bidimensionale devi passare anche la seconda dimensione Codice: int Funz(int array_bid[][DIM2])
{}
				__________________ Me? The Chosen One? They chose me, and i didn't even graduate from fuckin' high school Wind FTTE Vula 100/20 - Stats Retelit / Valcanale 20Mbit/2Mbit // Wind 100/20+Wind4G con EdgerouterX | 
|   |   | 
|  10-05-2005, 10:05 | #4 | |||
| Moderatore Iscritto dal: Nov 2003 
					Messaggi: 16211
				 | Quote: 
 Nel senso che non è possibile definire una funzione, che abbia tra i suoi parametri un array di dimensione arbitraria: questo semplicemente perché tipo, array di tipo, array di array di tipo, e così via, sono tutti tipi a due a due diversi. Forse si potrebbe fare usando una lista variabile di argomenti, ma ho parecchi dubbi in proposito... Quote: 
 Ti redirigo sulle FAQ per il linguaggio C a cura di Steve Summitt, che sono un punto di riferimento. Quote: 
 
				__________________ Ubuntu è un'antica parola africana che significa "non so configurare Debian"  Chi scherza col fuoco si brucia. Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu | |||
|   |   | 
|  10-05-2005, 15:17 | #5 | 
| Senior Member Iscritto dal: Apr 2000 Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29 
					Messaggi: 53971
				 | 
		Non avevo visto che il vettore bidimensionale era allocato staticamente... Avevo presupposto il vettore bidimensionale allocato dinamicamente...in tal caso sia int f1(int **t) { return t[1][1]; } che int f2(int *t[]) { return t[1][1]; } vanno bene... | 
|   |   | 
|  10-05-2005, 19:25 | #6 | |
| Senior Member Iscritto dal: Nov 2000 
					Messaggi: 279
				 | 
				
				!
			 
		Grazie..però ve la siete cercata e ora vi sommergo di codice     Codice: int f1(int **t) 
{ 
return t[1][1]; 
} 
    
int main(int argc, char *argv[])
{
  int a[3][3];
  a[1][1]=5;
  
  f1(a);
  system("PAUSE");	
  return 0;
}A runtime crasha tutto. Codice: int f1(int **t) 
{ 
return t[0][0];
} 
    
int main(int argc, char *argv[])
{
  int a[1][1];
  int **t;
  
  t=a;
  
  a[0][0]=5;
  
  
  f1(t);
  system("PAUSE");	
  return 0;
}poi non lo so.. potrei provare a puntare al primo elemento..mmmmm... un aiutino?? ah..a tutto ciò si aggiunge questa nota nelle FAQ che mi avete consigliato: Quote: 
 
				__________________ In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero Ultima modifica di Mezzetti0903 : 10-05-2005 alle 19:31. | |
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 20:32.









 
		 
		 
		 
		








 
  
 



 
                        
                        










