** in declaration of a function

Does anyone know what it means when in one declaration we have ** in front of a variable? is a pointer for a two dimension array?

void amoeba(float **p, float y[], int ndim, float ftol, float (*funk)(float []), int *nfunk);

Thank you!
http://www.codeproject.com/KB/cpp/complex_declarations.aspx

Or, for the specific part:

Consider the declarations:

1
2
3
int RollNum[30][4];
int (*p)[4]=RollNum;
int *q[5];

Here, p is declared as a pointer to an array of 4 ints, while q is declared as an array of 5 pointers to integers.

We can have a mixed bag of *s and &s in a single declaration, as explained below:

1
2
3
4
int **p1;  //  p1 is a pointer   to a pointer   to an int.
int *&p2;  //  p2 is a reference to a pointer   to an int.
int &*p3;  //  ERROR: Pointer    to a reference is illegal.
int &&p4;  //  ERROR: Reference  to a reference is illegal. 
Great link xander.. that's handy for us beginners for sure :)
Thanks :)
Topic archived. No new replies allowed.