confusing about **pointer

Hi
First off all,excuse me for this dummy question.
Unfortunately I have not understood "**pointers" yet.
what differences are between one "*pointer" and "**pointer" ?what benefit can it give to programmer?and last question,where can one programmer use it ?

Thanks for any help or guidance
a **pointer is a pointer to a pointer:
1
2
3
4
5
int x=32;
int* y=&x;
int** z=&y;

std::cout<<**z<<std::endl; //would output 32 


you have a ** pointer if you get commandline params passed as arguments of the main func:
int main(int argc, char **argv);
That's because argv is an array of arrays. An array is usually passed as a pointer to the first element (the one with index 0). So
argv[0] is a char*
argv[0][0] is a char.
Topic archived. No new replies allowed.