c - main()中许多函数的单个名称

时间:2016-10-10 08:51:01

标签: c

我有一种不同的方式来编写函数,例如以下列方式考虑主要功能

int main()
{ 
   some thing here;
   return 0;
}

第二和第三种变体可能就像

void main()
{ 
   some thing here;
}

int main(int argv , char *argc[])
{ 
   some thing here;
   return 0;
}

那么有人怎么可能以不同的方式编写单个函数呢?在我看来哪个会导致错误?

如何编写这样的功能?在java中类似于重载重载或覆盖概念吗? 有许多功能可以使用单一名称吗? 请提供使用此类功能的示例?

1 个答案:

答案 0 :(得分:0)

我想在这里回答你的问题:

首先,main当然是一个功能。实际上,main是每个c程序的入口点,每个c程序都必须具有main函数。

C程序由变量和函数组成,并且必须至少有一个函数。在最小的情况下,这将是主要功能。

好的,理论和问题的第一部分都是如此。

我认为你的想法是:你认为main()是一个C库函数,因此它不能超载"。

事实是,它不是一个库函数,它只是程序的一个特定入口点,它通过名称" main"来标识自己,而不是返回类型或参数。

你可以用

编写一个C程序
main(){
 [your code here]
}

int main(int argc, char * argv[]){
 [your code here]
}

因此,您自己声明并定义主函数,并以最适合您的程序需要的方式执行(即如果您的程序采用命令行变量,您将选择第二个示例)。

请记住,main不是库函数,它只是C程序启动的命名约定。

您还可以查看Brian Kernighan和Dennis Ritchie撰写的 The C Programming Language(Second Edition),第5-7页。