C++ 中main(char ** argv)的参数传递

来源:互联网 发布:谷歌搜索算法 编辑:程序博客网 时间:2024/05/29 13:36

1.首先字符串常量,存在内存的静态数据区,其本身的返回值,为char *类型,即指向该字符串常量的指针;

2.正常情况下,声明的main为(int argc,char *argv[ ]),其为指向字符串的指针,将其改为char **argv后,argv指向char *,即argv存的是指向字符串的指针的地址;

3.也就是说,char *指向字符串的第一个字节的地址,而,输入给main函数的,并不是具体的hello的字符串,而是,指向hello的字符串的地址;

4.*argv被传递的就是这个地址,有点类似于

void reset(int *ip){  *ip=0;}//调用reset(&x);

而,在传递给main是,x为地址,因此,**argv指向地址的地址,*argv指向地址,最终,argv[0~n]也就指向了参数传递

0 0
原创粉丝点击