一、函数定义与使用
二、变量三属性
变量知识回顾
变量四种之一 ——常量,变量,表达式,函数
变量名——用户自定义标识符(字母下划线开始,字母下划线数字组成)
先定义后使用——类型(分配房间大小)
1、变量三属性:类型
主要用来定义
类型名 变量名列表;
int x,y,z;
2、作用范围
空间 根据位置:内部(局部),外部(全局)
(1)局部变量(或称内部变量)
定义:在一个函数内部定义的变量为局部变量
{定义}
a.局部变量只能在它所在的函数 内有效 。b.在 不同的函数 中可以出现同名的变量,它们分别属于 不同的变量 。c. 复合语句 中定义的变量只能在此复合语句 中有效 。d. 所有 形式参数 都是 局部变量 。
例题(注意b的值)
(2)全局变量(或称外部变量)
定义:在函数外部定义的变量为全局变量
a.全局变量的有效范围是在本 文件 内从 定义 该变量的位置 开始 到本文件的结束。b.全局变量 可以 在它的有效范围内 被每个函数引用 。c.在同一文件中若全局变量与局部变量 同名,局部变量“屏蔽” 全局变量。
例题
3、存储类别
时间 说明类别:auto,static,register,extern
(1)auto类别变量
a.
auto类别变量
用完后释放
所占用
空间
。
b
局部
变量默认为auto类别,
无初始化时
初值为
随机值
。
c.
使用
时间短
,一般都为auto类别变量(
临时性变量
)
(2)static类别变量(静态变量)
a.
static类别从定义到
程序运行结束
均占用存储空间。
b.
全局
变量默认为static类别,无初始化时,
初值为
0
。
c.
static类别变量
只进行一次初始化
。
static类型必须声明,不然默认为auto7->8不能再变回去例题
(3)register类别变量
a.
register类别只能是
局部变量
才能被说明。
b
一般不能直接使用
。
(4)extern类别变量
a.
extern类别变量可以
加大变量的作用范围
。
b.
两格说明格式
格式1:定义同时说明类别:存储类别 类型名 变量名;(auto)int s;static int s;
格式2:分别定义、说明
类型名 变量名;存储类别 变量名:
例题
三、例题(包括宏)
例题(递归,注意两个w都是哪里用)