| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  26-03-2010, 12:15 | #1 | 
| Member Iscritto dal: Aug 2009 
					Messaggi: 119
				 | 
				
				[c] doppio puntatore = array di puntatori
			 
		Salve a tutti, nn riesco a capire come funziona (o far funzionare) il fatto che a un doppio puntatore possa essere assegnato un array di puntatori. La situazione e' questa: Ho una struttura definita come list_t. Io voglio creare una funzione per definire in un'altra struttura hash_t un array di puntatori a list_t grande size, dove size e' un parametro della funzione. IMPORTANTE La list_t manipola dati di tipo void * mi viene da scrivere una cosa del genere: Codice: typdef struct {
   list_t **pun;
   ...
}hash_t;
hash_t * funz(... int size, ...)
{
   hash_t * tmpH;
   list_t ** tmpL;
   tmpH = malloc(sizeof(hash_t));
   ...
   tmpL = calloc(size, sizeof(list_t *));
   tmpH->pun = tmpL;
   return tmpH;
}Il problema e' che io vorrei accedere a pun come se fosse un array, quindi con la notazione pun[i], ma anche se il compilatore me lo fa' fare nn accedo ai membri. Ho provato a scrivere list_t *tmpL[size]; ma nn so' come effettuare la malloc... Penso che il compilatore nn faccia storie perche' i dati dentro list_t sono void *. Nn so' come risolvere il problema. | 
|   |   | 
|  26-03-2010, 20:26 | #2 | 
| Senior Member Iscritto dal: Jun 2002 Città: Dublin 
					Messaggi: 5989
				 | 
		
Mi tradurresti questa affermazione?
		 
				__________________ C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! | 
|   |   | 
|  26-03-2010, 20:34 | #3 | 
| Senior Member Iscritto dal: Jul 2009 Città: Varès 
					Messaggi: 658
				 | 
		ma in pun[i] ci sono degli indirizzi di memoria... cosa ti aspetti di trovarci ? | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 11:32.









 
		 
		 
		 
		







 
  
 



 
                        
                        










