C 语言main函数

main函数是所有C语言程序的入口,也就说所有的C语言程序都需要一个称之为main的外部函数,当程序启动时,从main开始执行,当该函数返回时,程序也将终止,并且这个函数的返回值被看成是程序成功或失败的标志,若执行到该函数体的末尾没有遇到返回语句 ,则看成是执行了return 0; 语句。
C的设计原则是把函数作为程序的构成模块。main()函数称之为主函数。

一、main()函数的形式

在最新的C99中,main函数只有两种标准形式:

int main( void )  /* 无参数形式 */
{
    //函数内容
}
或
int main( int argc, char *argv[] ) /* 带参数形式 */
{
    //函数内容
}

int指明了main()函数的返回类型,函数名后面的圆括号一般包含传递给函数的信息。void表示没有给函数传递参数。

常见非标准形式
void main()
{
    //函数内容
}

有些编译器允许这种形式,但是还没有任何标准考虑接受它。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地表示:void main( ) 的定义从来就不存在于 C++ 或者 C 。所以,编译器不必接受这种形式,并且很多编译器也不允许这么写。坚持使用标准的意义在于:当你把程序从一个编译器移到另一个编译器时,照样能正常运行。

二、main()函数的返回值

从main函数的形式来看,main函数的返回值有两种,一种是void,表明该函数运行不可能失败;另一种是整数,对于window和linux来说,返回值为0时,都代表成功,非0值可以参考Linux或window错误代码及其含义。当然也可以定义不在参考范围的值给出特定含义。

linux错误代码及含义
windows错误代码及含义

三、main()函数的参数

C编译器允许main()函数没有参数,或者有两个参数(有些实现允许更多的参数,但这只是对标准的扩展)。第一个参数argc(argument count)记录了输入参数的个数,第二个参数argv(argument value)是字符串数组的,字符串数组的每个单元是char*类型的,指向一个c风格字符串。

#include<stdio.h>

int main(int argc, char* argv[])
{
    printf("The command line arguments count:%d\n", argc);
    printf("The command line arguments value list:\n");
    int count;
    for (count = 0; count < argc; count++)
        printf("%d: %s \n", count, argv[count]);

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

推荐阅读更多精彩内容

  • main的参数 C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv,argc(第一个形...
    Mr_Bluyee阅读 1,768评论 0 0
  • C语言 main()函数 C语言main函数的完全格式是 argc: 是执行程序时命令行参数个数,需要注意,程序本...
    崩芭大酱阅读 1,008评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,428评论 0 2
  • 1、c语言的函数有以下特点: (1)才源程序由函数组成,一个主函数main()+若干其他函数 C程序中的函数类似文...
    滕王阁序阅读 1,385评论 0 6
  • 这几年突然发现时间过得真的很快 回首,回忆 青春已渐渐“离去” 只剩岁月留下的“残骸” 我们都已成长 穿梭在那车水...
    大璐Louise阅读 194评论 1 2