在函数定义中使用相同的函数?

时间:2016-03-15 13:11:16

标签: c++ c recursion

很抱歉,如果这是一个愚蠢的问题,但我对编程很陌生。 我一直在研究各种各样的东西,合并排序让我很头疼。

void part(int arr[],int min,int max)
{
 int mid;
 if(min<max)
 {
   mid=(min+max)/2;
   part(arr,min,mid);
   part(arr,mid+1,max);
   merge(arr,min,mid,max);
 }
}

我还不明白当它甚至没有完全定义时,如何在自己的定义中使用函数部分。另外,我真的不太明白这是如何工作的..请帮助我理解这一点!!

任何帮助非常感谢。谢谢。

2 个答案:

答案 0 :(得分:2)

C ++区分正在定义的函数和声明的函数,声明函数的区别只是知道它的签名(所以make 。这就是其他部分的充分信息。调用它的程序,实际上不需要代码体。然后定义代码本身的定义。

答案 1 :(得分:1)

你需要调用一个函数就是它的声明,函数定义也是一个自动声明(如果还没有声明),这个自动声明所需要的只是函数签名(返回类型,名称,参数,但完整正文。)

如果没有这个,就很难做recursion,这是函数调用自身时会发生的事情。