总结一下,C语言的声明。
声明格式:声明说明符 声明符
其中:声明符是变量的名字,以字母,下划线开头。
声明说明符包括:存储类型符,类型限定符,类型说明符。其中,类型限定符和类型说明符必须跟在存储类型符的后面。
存储类型符:auto,static,extern,register。类型限定符:const,volatile。类型说明符:int,float,char,etc。
下面说一下stati关键字:
说到static就得说到变量的“链接”,简单的说变量的“链接”分为“外部链接”和“内部链接”,变量具有“外部链接”的属性则说明该变量可以被该程序下一个或者几个的文件共享。
而变量具有“内部链接”的属性则只单独属于该文件,如果其他文件含有与改变量相同名字的变量则被视为是不同的变量。
如果一个变量在函数体外被stati修饰,则说明该变量具有“内部链接”,只有出现在同一文件的函数才能看到该变量,static的这种用法常常用来实现一种叫信息隐藏的技术。
eg:static int i;
void f1(){/*这里可以访问变量i*/}
void f2(){/*这里可以访问变量i*/}
其他文件访问不了变量i。
如果一个变量在函数体内被static修饰则说明该变量具有静态存储期限,与auto变量不同,该变量在函数执行期间驻留在同一存储单元,并且无限期保留该值。该用法可以提高函数的速度。
eg:char getName(int index){
static const char[10]="abcdefghjk"
return char[index];
}
每次从内存直接读取数据,不用每次调用该函数时候加载。