c学习 - 第八章:函数
8.7 数组作函数的参数
1、数组元素作函数的参数——值传递,单向传递
2、数组名做函数的参数——地址传送
(1)实参:数组名做实参,传递的是数组首元素的地址
(2)形参:使用同类型的数组名或指针变量
3、多维数组名作函数的参数
(1)形参:形参数组定义时可以省略第一维的大小说明
8.9 变量的存储类别
1、static声明局部变量(静态局部变量)
静态局部变量是在编译时赋初值的,在程序运行时它已经有初值,以后每次调用函数时,不再重复赋值,而只保留上次函数调用结束的值
2、static声明外部变量
使某些外部变量只局限于本文件使用
3、register声明局部变量或形参
如果一些变量使用频繁,为提高执行效率,c允许将局部变量存储在寄存器中,使用时直接到寄存器取出,而不用到内存取值
4、extern声明外部变量
用extern声明外部变量,以扩展外部变量的作用域
(1)在一个文件内部声明外部变量:不在文件开头定义的外部变量,使用extern声明使该变量的作用域扩展为整个文件
(2)在多个文件程序声明外部变量:在任一文件中定义外部变量,在另一个文件中使用extern对该变量作声明,则系统将其他文件中定义的外部变量扩展到本文件中
8.10 内部函数与外部函数
1、内部函数(静态函数)
在函数定义首部加static,该函数只能被本文件中的函数所调用
2、外部函数
普通定义的函数或在函数定义首部加extern(extern可省略,隐含的为外部函数)