【C语言笔记】main()函数的几种形式

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

//写法一
main()
{
 printf("Hello notepad++ \n");
}

//写法二
int main(void)
{
 printf("Hello notepad++ \n");

 return 0;
}

//写法三
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");

 return 0;
}

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

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

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


我的个人博客:https://zhengnianli.github.io/

我的微信公众号:嵌入式大杂烩

[](


 上一篇
【C语言笔记】使用notepad++、MinGW来开发C程序 【C语言笔记】使用notepad++、MinGW来开发C程序
Windows平台下C程序的集成开发工具有很多: 1、Visual C++6.0Visual C++是Microsoft公司推出的用于开发C/C++程序的一款经典的IDE,很多高校都使用其作为教学工具来讲解C和C++。但是,Visual C
2018-10-05
下一篇 
C编程练习013 C编程练习013
1、题目分享一道CVTE(广州视源电子科技股份有限公司)的面试笔试题: 世界上有两种人,一种懂二进制,一种不懂。那么你知道两个 int32 整数 m 和 n 的二进制表达,有多少个位(bit)不同么? 输入示例:1999 2299 输出示
2018-07-01
  目录