Używam GeomagnetismLibrary i jednej z deklaracji funkcyjne mają formatDekodowanie deklarację C i korzystające z niego
int MAG_robustReadMagModels(char *filename, MAGtype_MagneticModel *(*magneticmodels)[], int array_size)
Dla uproszczenia I już dumbed to w dół po prostu skupić się na celem
void blah(int *(*a)[])
{
(*a)[0] = malloc(sizeof(int));
(**a)[0] = 12;
}
Jeśli chcę wywołać tę funkcję muszę zadeklarować zmienną jak:
int *a[1];
blah(&a);
N OW w mojej sytuacji nie wiem co a
nigdy nie będzie miał więcej niż jednego elementu, więc nie chcę zadeklarować a
jako tablica, ale raczej tylko jako wskaźnik jak
int *a;
Czy jest jakiś sposób mogę pisać odlewanie lub dereferencja tej zmiennej przy wywoływaniu blah
, która zadziała zgodnie z życzeniem i nie spowoduje awarii?
Ponadto, jak zdefiniowałbyś ten typ w kategoriach odlewania, na przykład: (int *[]*
)?
Dzięki
Tak to działa w rzeczywistości. Dzięki! – lukecampbell
@lukecampbell: Myliłem się. Zobacz moją korektę. – alk