C51 语言的变量定义
定义方式:
普通变量:[修饰符] 数据类型 [存储类型] 变量名 [= 值]
指针变量: [修饰符] 所指向的地址的数据类型 [所指向的地址的存储类型] *[指针的存储类型] 变量名 [= &所指向的变量名]
指针变量的赋值:(不用 *)指针变量变量名 = 所指向的变量名
修饰符
修饰符 | 释义 |
---|---|
auto | 一般变量 |
static | 静态类型,一开始即被分配存储空间,定义的范围之外是不可见的,只在文件内部、模块内部有效。并且实现离开模块时不被修改。 |
extern | 全局类型,在函数体外、其他文件中定义过变量。在某函数中引用时,要用 extern 声明 |
register | 寄存器变量,很少用了。 |
auto 定义的变量为自动变量。自动变量的作用范围在定义的函数和复合语句内部。在定义它的函数体或复合语句被执行时,C51 才为该变量分配内存空间。当函数调用结束后,自动变量将自动释放。auto 一般省略,即若变量没有声明修饰符时,一般默认为 auto。
由于片内 RAM 的访问速度很快,通常将函数体内或复合语句中使用频繁的变量存放于片内 RAM 中,这样可以有效利用片内 RAM 的资源。