标识符的作用域与可见性
一.作用域
标识符能够生效的范围是作用域,作用域分为全局作用域跟局部作用域
局部作用域:在花括号里的就是局部作用域,所定义的东西只能在自己所处的局部作用域生效(称为局部变量)(栈区)
全局作用域:不在任何花括号里的就是全局作用域《所定义的变量称为全局变量(全局区),能够代替函数实现参数传递
全局变量未被初始化,则系统一定会清0.输出一定为0(位模式清0)
二.变量的生存期
静态生存区与程序运行周期相同
用static修饰的局部变量,把动态生存期改为静态生存期
局部变量的存储类别
register寄存器变量,把变量空间开到CPU内,读写效率非常高
extern 声明外部变量,头文件只放声明不放定义
三.预处理命令
宏定义
不带参宏
其中的标识符一般大写;有一种只有宏名,无内容的宏。
带参宏
注意:宏与函数的区别:宏在程序中直接展开,效率高;函数需要保护现场、恢复现场,效率不高,复用性强。
文件包含
C语言中提供#include命令,双引号表示在当前的main.c所在的目录下,尖括号包起来表在/usr/include/目录下找。
条件编译
#ifndef _FUNC_H_
#defind _FUNC_H_
#endid _FUNC_H_