C语言入门之函数入门简介(下载)

1. 函数的定义

(1)格式

函数类型 函数名(形式参数表列)            //函数类型是指函数返回值的类型,

{ 声明部分                                  若无返回值,定义函数类型为void

      语句   }

(2)形参定义格式:

类型 参数名,类型 参数名…

例 int max (int x , int y)

{

……

}

2. 函数的调用

(1)格式

函数名(实参表列);

【注意:调用时应在主函数中声明,声明与函数定义的首行相同即可声明是语句,需要在后面加分号,而定义函数不需要加分号】

(2)形参与实参

形参必须指定类型,若形参与实参类型不一致,则自动按形参类型转换;

   实参必须有确定的值;

单向传递,只能由实参向形参传递,函数调用结束后,形参内存释放。

(3)函数返回值

若return后的表达式类型与返回值类型不同,按函数类型转化;

若缺return或return未带回返回值,则返回一个不确定的值;

为明确不带返回值,应用void定义。

(4)一维数组名做函数参数

数组名表示数组第一个元素在内存中的起始位置;

形参也应定义为数组形式,数组长度可以省略,但[ ]不可以省;

形参其实是一个可以存放地址的变量。

3. 函数的递归调用

递归调用:一个函数直接或间接地调用了函数本身。

递归函数:在函数体内调用函数本身。

【建议这部分多看书】

4. 变量的作用域

局部变量:局部变量的有效范围只在所定义的函数内,主函数也不例外,不同函数中可以使用同名变量。

全局变量:全局变量定义在函数外部,其有效乏味从定义变量的位置到文件结束,变量名第一个字母通常大写。

【注意:如果在同一个源文件中,全局变量与局部变量同名,则在局部变量的作用范围内,全局变量不起作用!】

5. 变量的存储类型

auto变量:未声明为static存储类别的函数中的局部变量,数据存储在动态存储区,在函数调用结束时就是烦这些存储空间。(e.g. auto int a 通常可以省略auto)

static声明局部变量:特点是变量存储在静态存储区中,函数编译时赋初值,函数调用结束后不释放这些存储空间。(e.g. static int a)

register变量:只有函数内定义的变量或形参可以定义为寄存器变量。作用同auto变量。

Extern变量名:声明外部变量。

章节下载

考研英语作文话题最新预测

2018-2-14 18:09:31

劳动与社会保障法学

2018-3-13 18:23:21

搜索