#include <stdio.h>
void main()
{
static int array[5] = { 200, 400, 600, 800, 1000 };
int sum;
int addnum(int *ptr); // what happened here ?
sum = addnum(array);
printf("Sum of all array elements = %5d\n", sum);
}
int addnum(int *ptr)
{
int index, total = 0;
for (index = 0; index < 5; index++)
{
total += *(ptr + index);
}
return(total);
}
int addnum(int * ptr); //这段代码究竟是什么意思?
只是概念的主题或名称就可以了。非常感谢提前。
答案 0 :(得分:1)
int addnum(int * ptr); //这里发生了什么?
它被称为forward declaration
,允许编译器知道稍后将定义此类函数。
在C中,有可能(虽然不明智)实现一对相互递归的函数:
int first(int x) {
if (x == 0)
return 1;
else
return second(x-1); // forward reference to second
}
int second(int x) {
if (x == 0)
return 0;
else
return first(x-1); // backward reference to first
}