关于main函数

关于main函数

一般我们见到的main函数如下形式:

  #include <stdio.h>

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

      printf("argc=%d\n",argc);
      int i = 0;
      while (i<argc) {
          printf("argv[%d]=%s\n",i,argv[i]);
          i++;
      }
      printf("Hello, World!\n");

      return 0;
  }

对main()函数不能由其它函数调用和传递参数,只能在程序启动运行由系统时传递参数

  • 第一个参数argc(argument count)表示参数的个数,
  • 第二个参数argv(argument value)是一个指向字符串的指针数组,它存储了参数的值都用字符串表示。

例如我们把上边的代码保存文件为hello.c,然后在终端执行如下令:

  • 编译执行

    gcc  hello.c -o hello
    
  • 赋予权限

    sudo chmod 777 hello
    
  • 运行

    hello a b c
    

    最后会打印如下结果

    argc=4
    argv[0]=hello
    argv[1]=a
    argv[2]=b
    argv[3]=c
    Hello, World!
    

从结果看来argv[]数组中的第一个参数通常为文件名如hello,其他参数才是自己输入的参数,而这些参数的个数和值都有系统进行赋值的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,814评论 3 44
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,744评论 0 38
  • argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用...
    金石明镜阅读 5,326评论 0 1
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 12,384评论 0 27
  • 版权声明:本文转载于公众号TeachPlus---C语言面试题---main函数 1、下面的代码能编译通过吗?如果...
    安想创新教育阅读 3,308评论 0 0