C语言学习笔记-7.函数

一、函数的使用

1.每个函数在使用之前必须先定义

    例:void function();       //有分号

          int main() {…}

          void add() {…}       //无分号

2.文件包含处理:

   #include <文件名>       在库函数头文件所在目录中查找(标准方式)

   #include “文件名”      先在当前工作目录中查找,若没有则使用标准方式

3.函数的调用

    形参:定义一个函数时指定的参数

    实参:调用一个函数时指定的参数

             注:C语言规定只能由形参传给实参

二、函数变量的作用范围

1.局部变量的作用范围是它所在的整个函数(包括main函数)

   形参可以视为局部变量

2.全局变量的作用范围:从定义这个变量的位置开始,至程序结束

   如果在同一源文件中,全局变量与局部变量同名,则在局部变量的作用域内,全局变量将被屏蔽

3.函数的调用:

     控制流:语句执行的顺序

     数据流:在函数调用发生及结束时,数据在函数之间流转的过程,如参数的传递、返回

三、函数调用的实现过程

1.进程的内存分布

操作系统  
代码  
数据段 编译器用来存储字符串常量的地方
主要用作动态申请的内存空间
栈  S1 在调用一个函数时,系统在栈空间中自动分配一块区
     S2 域给这个函数,用来存放形参和局部变量等信息
     ……  
全局变量  

2.全局变量会被初始化为0

四、数组与函数参数

1.函数定义:double averagee(int a[], int n) {…}

   函数调用:average(score, n);

     注意:数据类型必须一致

              由于形参数组名实质上是指针,所以定义时可以不指定大小

              由于数组名不带有长度信息,因此需增加一个参数,用来传递数组的长度

五、变量的存储属性

1.存储类型:

auto(自动型) 默认局部变量,属于默认类型
register(寄存器型) 存储在CPU寄存器中,优点:效率高,缺点:个数少,只能为int型
static(静态型) 性质:全局寿命,局部可见性,可继承性
extern(外部型) 不是变量定义,只是扩展外部变量作用域(范围:变量定义位置到源文件结束,及其他有extern说明的)
posted @ 2015-02-09 23:20  trj14  阅读(126)  评论(0编辑  收藏  举报