sto usando un GeomagnetismLibrary e una delle dichiarazioni di funzione hanno un formatoDecodifica la dichiarazione C e facendo uso di esso
int MAG_robustReadMagModels(char *filename, MAGtype_MagneticModel *(*magneticmodels)[], int array_size)
Per semplicità ho dumbed giù a concentrarsi solo sulla mia obiettivo
void blah(int *(*a)[])
{
(*a)[0] = malloc(sizeof(int));
(**a)[0] = 12;
}
Se voglio chiamare questa funzione devo dichiarare una variabile come:
int *a[1];
blah(&a);
N ow nella mia situazione non importa quale a
non avrà mai più di un elemento, quindi non voglio dichiarare a
come una matrice, ma piuttosto come solo un puntatore come
int *a;
C'è un modo per digitare lanciare o dereferenziare questa variabile quando si chiama blah
che funzionerà come desiderato e non causerà un segfault?
Inoltre, come definiresti quel tipo in termini di cast di tipo, ad esempio: (int *[]*
)?
Grazie
Sì, questo funziona davvero. Grazie! – lukecampbell
@lukecampbell: mi sbagliavo. Si prega di vedere la mia correzione. – alk