2、C语言关键字-auto register static

时间:2023-03-09 13:07:56
2、C语言关键字-auto register static

文件限定符的作用:

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均不可以用来声明全局变量。。。。。。。。。。。。。。。。。。。。。。。、