文件限定符的作用:
1、auto : 局部变量,修饰的变量在栈中定义。动态内存,随着函数的结束,变量占用的内存空间也随之释放。
2、register : 寄存器变量,请求编译器将此变量存于cpu寄存器中以加快处理速度。
虽然声明了但未必能够成功;
不能对此变量用取地址符&取地址,因为寄存器中没有地址。
register变量必须是CPU寄存器可以接受的值
3、static : 声明变量为静态全局变量 声明变量或函数只在本文件中有效
当在函数中修饰局部变量时指明在数据段,函数结束后并不会销毁此变量,回收内存
当在文件中修饰全局变量时只在声明的本文件中可以访问,其他文件即使加了extern关键字也无法访问此变量。
当在函数定义时加了此关键字进行声明后,那么此函数的作用域也只限于此文件中
#include <stdio.h>
static int b=1;
………………
static int fun()
{
static int a=0 ;
return 0;
}
另。。。。关键字auto与register均不可以用来声明全局变量。。。。。。。。。。。。。。。。。。。。。。。、