C 函数

简介:
一、函数分类
 
按照来源分:库函数和自定义函数
按照返回值分:有返回值和无返回值函数。
根据函数能否被其他文件调用分:内部函数和外部函数。
 
二、定义函数
 
C函数的模版如下:
 
内外修饰符 返回类型 函数名(参数列表){
       函数体
}
 
内外修饰符:非必须,static、extern
返回类型:void或其他
函数名:合法的标示符即可
参数列表:非必须,见多了,就那样,可以为数组,也可以为指针等等,参数表可以为空,也可以为void,两者是相同的。
函数体:C语句的集合,非必须。
 
C中没有抽象函数一说,都很实在。
 
三、函数的返回类型与返回值
 
函数不返回,则定义为void,否则为一个具体类型。
如果函数不返回,void类型,则不能使用return语句,java中可以。
如果函数有返回值,则必须使用return语句。
 
四、main函数
 
在前面已经说过了,就是入口函数,一个c程序只能有一个main函数,C99中有两种定义方式。main必须有int返回值。
main函数还可以有参数列表,也可以没有。
 
五、函数的执行过程
 
从上到下顺序执行,当调用别的函数了,就执行别的函数,直到完成后回来接着继续执行。这是单线程方式,和java的单线程方法执行方式完全相同。
 
六、函数原型
 
C语言有这个概念,比如说,在一个c文件中有两个方法,一个f()和一个main(),当f()在main()之后定义时,在main前面需要做个原型声明,表示用到这个函数了。
 
比如:
#include <stdio.h> 
void f(); 
int main(){ 
     .... 

void f(){ 
     .... 
}
 
其中 void f();就是函数原型。在此叫声明。
 
七、形参实参,调用方式
 
与java完全一样。
可嵌套、可递归。
 
八、内部、外部函数
 
1、内部函数:只能被本c文件内的函数调用。前面加static关键字,也称为静态函数。
 
2、外部函数:在程序的所有文件中都可以调用。前面加 extern关键字,如果函数前面没有内外部的限制关键字,则默认为外部函数。
 
3、如果要在一个文件函数a()中调用另外一个文件的函数b(),则需要在a中通过extern关键字来声明函数原型。
 
在a所在的整个文件中都可以访问b函数:
extern  void b() 
void a(){ 
    ... 
}
 
只有在a中可以访问b函数:
void a(){ 
extern  void b() 
    ... 
}
 
这有点类似java的import。
 


本文转自 leizhimin 51CTO博客,原文链接:http://blog.51cto.com/lavasoft/187735,如需转载请自行联系原作者
相关文章
|
6月前
|
存储 编译器 C++
13函数
13函数
24 0
|
6月前
函数(二)
函数(二)
24 0
|
11月前
|
存储 C语言
对函数的剖析二
对函数的剖析二
53 0
|
存储 编译器 C语言
C语言知识点之 函数
C语言知识点之 函数
55 0
|
程序员 C语言 C++
函函函函函函函函函函函数——one
函函函函函函函函函函函数——one
86 0
|
SQL
last函数
last函数
135 0
|
数据安全/隐私保护
十、详解函数柯里【上】
柯里化是函数的一个高级应用,想要理解它并不简单。因此我一直在思考应该如何更加表达才能让大家理解起来更加容易。 通过上一个章节的学习我们知道,接收函数作为参数的函数,都可以叫做高阶函数。我们常常利用高阶函数来封装一些公共的逻辑。 这一章我们要学习的柯里化,其实就是高阶函数的一种特殊用法。
157 0