c语言编译器对于源代码的编译是顺序编译的,当你的任意一个函数中调用某个函数的时候,这个函数的原型必须在调用之前声明孝埋,否则就会出现编译错误,例如:
创新互联建站主要从事成都做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务睢阳,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
void a(int b)
{
printf("%d\n", b);
}
int main(int argc, char *argv)
{
a(10);
return 0;
}
以上的程序迟旁就没有问题巧旦蚂,如果两个函数的位置倒一下,就会报错,解决办法是,将函数“a”的原型在main之前声明,如:
void a(int b);
int main(int argc, char *argv)
{
a(10);
return 0;
}
void a(int b)
{
printf("%d\n", b);
}
你可以这样试试。
main函数之前--真正的函数执行入口或开始梁姿\x0d\x0a\x0d\x0a一种解释\x0d\x0a\x0d\x0a实际上,在可执行文件被加载之后,控制权立即交给由编译器插入的Start函数,它将对后帆哪面这些全局变量进行准备:\x0d\x0a _osver 操作系统的构件编号\x0d\x0a _winmajor 操作系统的主版本号\x0d\x0a _winminor 操作系统的次版本号\x0d\x0a _winver 操作系统完全版本号\x0d\x0a __argc 命令行参数个数\x0d\x0a __argv 指向参数字符串的指针数组\x0d\x0a _environ 指向环境变量字符串的指针数组\x0d\x0aStart函数初态渣码始化堆并调用main函数.mian函数返回之后,Start函数调用Exit函数结束该进程.\x0d\x0a启动函数Start的源代码在:\x0d\x0a crt0.c Microsoft Visual C++\x0d\x0a c0w.asm Borladn C++
main函数不是必须放在其他函数之前,也就是说可以放在其他函数的上面,下面,都可以铅晌念。
编译器编译时,是逐行编译的。但是它是先找到主函数,主函数编译完也表明这个程序已经编译完了。如果主函数放在其他函数之前,那么在主函数中要调用的子函数(自定义函数)要先在主函数之前声明它的谨中存在。如:void fun(int n,int m);
在多数编程语言里,变量、函数(过程)、结构体、类、对象等都是必须先声明(或在使用它之前定义)后使用。未声明或未在使用它的函数之前定义的,编译都无法通过。而且会报错:未定义的变量或函数等.
扩展资料:
main函数,又称主函数,是程序执行的起点。C程序最大的特点就是所有的程序都是用函数来装配的。main()称之为主函数,是所有程序运行的入口。
其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。
int main(void)//整数类型 主函数(无类型)
{
...
y1=f1(x1,x2);//赋值过程
...
}
f1(int a,int b)//f1(整数类型 a,整数类型 b)
{
//百度百科示例代码.....
Y2=f2(x3,x4);//赋值过程
//百度百科示例代码
}
f2(int m,int n)//f2(整数类型 m,整数类槐困型 n)
{
//百度百科示例代码
参考资料来源:百度百科-main函数