您的位置:首页 > 编程语言 > C语言/C++

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

2015-02-09 23:20 323 查看

一、函数的使用

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说明的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: