一些例子我遇到一个处理菜单的程序..
他在main函数之前声明了所有函数,因为我理解应该是,然后在main中也提到了一个函数,它是一个void函数:
char get_choice(void);
char get_first(void);
int get_int(void);
void count(void);
int main(void)
{
int choice;
void count(void);
while ( (choice = get_choice()) != 'q')
{
switch (choice)
{
case 'a' : printf("Buy low, sell high.\n");
break;
case 'b' : putchar('\a'); /* ANSI */
break;
case 'c' : count();
break;
default : printf("Program error!\n");
break;
}
}
printf("Bye.\n");
Run Code Online (Sandbox Code Playgroud)
......(功能实现)
你能告诉我为什么吗?TNX
这些只是函数的声明而不是定义。虽然不太确定为什么 count 函数被声明两次。声明只是告诉编译器有这个名称的东西。也许程序员忘记定义该方法?
声明提供符号的基本属性:其类型和名称。定义提供了该符号的所有细节——如果它是一个函数,它的作用是什么;如果它是一个函数,它的作用是什么?如果它是一个类,它有哪些字段和方法;如果它是一个变量,则该变量的存储位置。
例如声明如下:
void count(void);
Run Code Online (Sandbox Code Playgroud)
例如定义如下:
void count(void){
......
}
Run Code Online (Sandbox Code Playgroud)