void starbar ( void ) ;
圆括号表明starbar 是一个函数名。第1个void 是函数类型,void类型表明函数没有返回值。
第2个void (在圆括号内)表明该函数不带参数。
分号表明这是在声明函数,不是在定义函数。也就是说,这行声明了程序将使用一个名为 starbar ( ) 、没有返回值、没有参数的函数,并告诉编译器在别处查找该函数的定义。
对于不识别ANSI C风格原型的编译器,只需声明函数的类型,如下所示:
void starbar ( )
/*
创建一个在一行打印40个星号的函数
*/
#include<stdio.h>
#define NAME "GIGATHINK, INC." //定义名字
#define ADDRESS "101 Megabuck Plaza" //定义地址
#define PLACE "Megapolis, CA 94904"
#define WIDTH 40 //定义宽度
void starbar(void); //声明starbar()函数
int main(void)
{
starbar(); //调用自定义的函数
printf("%s\n",NAME);
printf("%s\n",ADDRESS);
printf("%s\n",PLACE);
starbar();
return 0;
}
void starbar(void)
/*
函数头包括:函数类型、函数名、圆括号,接着是左花括号、变量声明、
函数表达式语句,最后以右花括号结束。
注意:函数头中的starbar ( ) 后面没有分号,
告诉编译器这是定义starbar ( ),而不是调用函数或者声明函数原型。
*/
{
int count;
for(count=1; count<=WIDTH; count++)
{
putchar('*');
}
putchar('\n');
}
程序运行见下图