argc和argv怎么使用arg表示argument,也就是参数。c表示count,也就是个数。

  • 1.argc为整数
  • 2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[][] ,argv是一个指针数组)

注:main()括号内是固定的写法。

  • 3.下面给出一个例子来理解这两个参数的用法:
    假设程序的名称为prog,
    当只输入prog,则由操作系统传来的参数为:
    argc=1,表示只有一程序名称。
    argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog
    当输入prog para_1,有一个参数,则由操作系统传来的参数为:
    argc=2,表示除了程序名外还有一个参数。
    argv[0]指向输入的程序路径及名称。
    argv[1]指向参数para_1字符串。
  • 总结:argc和argv用于向main()传递程序启动时的相关信息,具体情况与实现有关。一种常见的情况是,argc是命令行参数的个数,rgv[0], argv[1]……argv[argc-1]都是指向string的指针,这些string就是命令行中的各个参数。

例如,假如命令行是X a bc则argc为3
argv[1]和argv[2]则分别是指向"a"和"bc"起始字符的指针
argv[0]指向什么样的字符串与具体实现有关
argv[argc]一定是NULL