c – argc和argv的目的是什么?

参见英文答案 > What is the proper declaration of main?                                    5个

int main( int argc,char ** argv ){
//code here
 return 0; }

我知道:

> argc表示命令行参数的数量,包括文件
> char ** argv应该是一个数组的char *,最初表示为char * argv []

假设我是对的,与char * argv []相比,相对较新的符号char ** argv是什么?它指向什么?

我读过这篇文章
但是,它似乎解释了争论的地方而已.

解决方法

C标准中带参数的主要原型是:

int main(int argc,char *argv[]) { ... }

现在在C中,类型数组的函数参数被调整1)到类型指针,即:

void foo(T param[])

相当于

void foo(T *param)

所以使用char * argv []或char ** argv作为主要参数是完全一样的.

 1)(C99,6.7.5.3函数声明符(包括原型)p15)“[…](在确定类型兼容性和复合类型时,使用函数或数组类型声明的每个参数都被视为具有调整后的类型并且使用限定类型声明的每个参数都被视为具有其声明类型的非限定版本.)“

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...