在定义有形参的main函数的时候,有下记两种写法:
int main(int argc, char* argv[]){.....; return 0;}
int main(int argc, char **argv) {.....; return 0;}
那么第二个参数 char * argv[] 和 char ** argv 有什么区别呢?
char * argv[]是指针数组。
其元素均为指针类型数据。
char ** argv 是指向指针类型数据的指针变量。
所以:
int main(int argc, char **argv) {.....; return 0;}的写法相当于
int main(int argc, char* argv[]){
char *(*p);//char ** p;
p = argv;
.....; return 0;