在程序编写过程中,经常会出现某个函数体需要通过调用其它函数来实现某些功能,在这个调用的过程中延申出了两个东西:主调函数与被调函数,主调函数指调用其它函数的函数,被调函数反之。这两兄弟必定是成对出现的,但主调函数在多少情况下又对应这多个被调函数。接下来我们来看个例子。
void main() //主调函数
{
Value();
Value2();
while(1);
}
void Value() //被调函数
{
}
void Value2() //被调函数
{
}
我们可以看到上面的代码,main()就是一个最常见的主调函数, Value()跟Value2()都是main()的被调函数。此时的效果相当与先执行了Value()的代码后在执行了Value2()的代码。需要注意的是尽管主调函数也可以是另一个主调函数的被调函数,但是因为c/c++规定了程序从main()开始执行并且也只能有一个主函数的存在,所有main()只能是作为一个主调函数存在,可以说是一个特例。