重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在调用前声明。但通常放在主调函数的开头部位或所有函数之外的前面。
滦南网站建设公司创新互联,滦南网站设计制作,有大型网站制作公司丰富经验。已为滦南上1000+提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的滦南做网站的公司定做!
函数可以在调用函数的函数(比如main函数)之前定义,这样就无需声明了;
举例:
int add(int x,int y) { return x+y; } //在编译程序编译到main的调用add之处时,由于已经编译过add的函数了,因此编译程序已经知晓调用规则,因此可以省略声明语句
void main() { int x=5,y=6,c; c=add(x,y); printf("%d\n",c); }
如果函数在调用函数的函数之后定义,为了通知编译程序要调用函数的格式,需要在调用函数的函数前添加函数的声明。
举例:
int add(int x,int y); //函数声明也可以简单地写成int add(int,int);通知编译程序main中调用add的规则即可
void main() { int x=5,y=6,c; c=add(x,y); printf("%d\n",c); }
int add(int x,int y) { return x+y; }
函数定义就是规定函数的格式与功能。
函数声明就是在函数调用之前进行的一种说明。
下面举例说明两者的语法格式:
#includestdio.h
int fun(int a, int b); // 函数的声明
void main()
{
int x=1, y=2;
int c;
c = fun(x+y);
}
// 下面的fun函数就是函数的定义
int fun(int a, int b)
{
return a+b;
}
注:如果被调函数(上例中为fun函数)写在调用处之前,可以不声明(本例是现在调用处 (c = fun(x+y);)之后)。
int f(int x, int y);
这个形参是引用类型啊,是C++里的东西,C中是没有的,可以用指针代替,当然代码也要做相应的修改
#include stdio.h
#include stdlib.h
int f(int *x, int *y)
{ int t;
if(*x*y)
{
t=*x;*x=*y;*y=t;
}
return 0;
}
void main()
{
int a,b;
printf("Plese int a:");
scanf("%D",a);
printf("Plese int b:");
scanf("%d",b);
printf("This before a and b:\n");
printf("a=%d.\nb=%d.\n",a,b);
f(a,b);
printf("This left a and b:\n");
printf("a=%d.\nb=%d.\n",a,b);
}
int add(int x, int y); //这就是函数声明
int main(void)
{
........
}
int add(int x, int y) //函数定义
{
........
}