2025年2月25日 星期二 甲辰(龙)年 腊月廿五 设为首页 加入收藏
rss
您当前的位置:首页 > 电子 > 嵌入式系统

main()函数有哪几种形式?

时间:07-23来源:作者:点击数:24

在C语言中,main函数是程序的入口。其有四种写法,即:

  • //写法一
  • main()
  • {
  • printf("Hello notepad++ \n");
  • }
  • //写法二
  • int main(void)
  • {
  • printf("Hello notepad++ \n");
  • return0;
  • }
  • //写法三
  • void main()
  • {
  • printf("Hello notepad++ \n");
  • }
  • //写法四
  • int main(int argc, char *argv[])
  • {
  • printf("Hello notepad++ \n");
  • }

前面三种不带参数的都是比较常见的写法。第四种写法带的两个参数是什么意思呢?下面简单来介绍一下。

首先,主函数不能被其他函数调用,所以形参argcargv的实际值就不能从其他函数传入,那么其实参应该从哪传入呢?

是从操作系统命令行上获得的。因此这两个参数也被称为命令行参数,argc为命令行参数的个数,argv为字符串命令行参数的首地址。

下面看一个代码实例:

  • #include <stdio.h>
  • //写法四
  • int main(int argc, char *argv[])
  • {
  • int i;
  • printf("<<<< argument list >>>>\n");
  • printf("argc = %d\n", argc);
  • for ( i = 0; i < argc; i++ )
  • {
  • printf("argv[%d] = %s\n",i, argv[i]);
  • }
  • printf("Hello notepad++ \n");
  • return0;
  • }

键入组合键【win+r】打开运行窗口,输入cmd并回车进入命令行环境:

图片

输入gcc hello.c -o hello.exe命令进行编译,再输入hello.exe cmd1 cmd2 cmd3 cmd4 cmd5(DOS提示符下命令行的一般形式为:C:\>可执行文件名 参数 参数……)对main函数进行传参,输出结果为:

图片

可见, argv为字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址,argc为指针数组的长度,即为参数的个数。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐