我有一种不同的方式来编写函数,例如以下列方式考虑主要功能
int main()
{
some thing here;
return 0;
}
第二和第三种变体可能就像
void main()
{
some thing here;
}
int main(int argv , char *argc[])
{
some thing here;
return 0;
}
那么有人怎么可能以不同的方式编写单个函数呢?在我看来哪个会导致错误?
如何编写这样的功能?在java中类似于重载重载或覆盖概念吗? 有许多功能可以使用单一名称吗? 请提供使用此类功能的示例?
答案 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页。