构成一个C语言程序的函数可以划分为两种基本类型:
创新互联公司长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为禹王台企业提供专业的网站设计制作、网站制作,禹王台网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
一种是由C语言系统提供的函数,这类函数用户可以直接在程序中调用,从而完成一定的功能,这类函数也被称为C语言的“库函数”或“标准函数”。
另一种是由用户在程序中定义的函数,是由用户根据应用程序的需要而定义、用以完成特定功能的程序模块,称为“
用户自定义函数”。
在C语言中,可以用以下几种方式调用函数:
1. 函数表达式:
2. 函数语句:
3. 函数实参;
函数的嵌套调用
1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值
void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf(“x=%d,y=%d/n”,x,y)
}
void main()
{
int a=4,b=6;
Exchg1 (a,b) ;
printf(“a=%d,b=%d/n”,a,b)
}
2、地址传递,相当于建立了px和py两个指向整型的指针,其值分别为a和b的地址
Exchg2(int *px, int *py)
{
int tmp=*px;
*px=*py;
*py=tmp;
print(“*px=%d,*py=%d/n”,*px,*py);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”, a, b);
}
3、引用传递,x和y直接引用a和b,对a和b操作,相当于给a、b起了别名x、y
Exchg2(int x, int y)
{
int tmp=x;
x=y;
y=tmp;
print(“x=%d,y=%d/n”,x,y);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”, a, b);
}
扩展资料:
printf用法:
printf()函数的调用格式为:printf("lt;格式化字符串gt;",lt;参量表gt;)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d\n",a);
输出结果为a=1234。
函数调用有俩种情况
1:声明函数,然后直接在函数体内调用函数,这样的做法是先保存当前函数执行的地址,然后查找函数指针,找到函数声明,再找到函数实现,创建一个函数堆栈,直接在函数堆栈里面操作,然后将返回值传给主函数。然后通过之前保存的地址,继续执行之后的代码。过程比较复杂。
2:内联函数和动态库调用,这俩种方法的函数调用比较奇特,他们不会创建单独的函数堆栈,而是执行到内联函数和动态库调用区域,直接将这部分代码,类似于“粘贴”到主函数中,省去了保存当前代码执行地址,等等一系列的操作,省去了很多内存空间,增加带代码的执行效率。适合于保存一些使用频率很高的小代码。能节省很多的程序运行时间。