10
In molte funzioni di ricerca di C (bsearch viene in mente) se viene trovato un risultato, viene restituito un puntatore al punto dell'array. Come posso convertire questo puntatore nell'indice dell'array cercato (usando l'aritmetica del puntatore, presumo).C - come convertire un puntatore in una matrice in un indice?
e se gli array sono di tipo nullo, viene visualizzato un avviso di compilazione. quindi non sa come eseguire correttamente la sottrazione. Ho finito per convertire entrambi in (char *), sottraendo, quindi dividendo per la dimensione di un elemento. non sono sicuro che funzioni, anche se – sepiroth
Non esiste una matrice di tipo 'void', ma c'è un puntatore di tipo' void'. – AraK
@hatorade lancia il puntatore al tipo di elementi dell'array. Ad esempio: 'int arr [..]; void * p = & arr [1]; size_t index = (int *) p - arr; ' – AraK