*argv[] **argv 的区别

2026阅读 0评论2010-10-07 bo_00
分类:C/C++

在定义有形参的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;

上一篇:GNU C语言 宏定义 #args ##args
下一篇:ccache 编译缓存