属行关键字的理解

属性关键字 auto ,static register

Auto c语言中的变量可以有自己的属性

在定义的时候可以加上“属性”关键字

属性关键字指明变量有特殊的意义

auto

1、auto c语言中所有的局部变量的默认属性,自动创建,函数完毕自动释放的

2、在栈里分配的空间,

Static

1、static 关键字指明变量的静态属性,

2、全局变量的默认为静态属性,但不加static可以外调,但是加了static 就不可以外调,

3、函数的使用,用static修饰的函数限定只能在本文件内使用

4、全局变量的默认是静态属性,加上static 表示只能在本文件内使用

5、在函数里修饰的话,只初始化一次。能在函数内部使用,但不会被销

6、作为全局变量作用域从定义处开始直到文件结尾,定义处前面要引用的话必须加 extern

// 参考: 1、初始的用途是定义的局部静态属性,后来又定义了一个限制在本文件内使用

Register

1、register 关键字指明变量存储在寄存器中

2、Registere只是请求放在寄存器中,不一定能申请的到

3、ERROR register 变量必须是cpu可接受的值,

4、不能用&运算符获取register变量的地址,对实时性要求特别高的话就需要用寄存器变量

//全局变量 设为auto 或者register变量,全局变量的默认是全局静态区分配的,

而 用这个的话会产生警告,甚至有的编译器直接报错


你可能感兴趣的:(关键字,C语言,register,寄存器)