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 []
.
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.