Simplicity Simplicity - 4 months ago 34
C++ Question

C++ - char** argv vs. char* argv[]

What is the difference between

char** argv
and
char* argv[]
? in
int main(int argc, char** argv)
and
int main(int argc, char* argv[])
?

Are they the same? Especially that the first part does not have
[]
.

Answer

They are entirely equivalent. char *argv[] must be read as array of pointers to char and an array argument is demoted to a pointer, so pointer to pointer to char, or char **.

This is the same in C.

Comments