C51 单片机的 C 语言中的变量定义与硬件之间的关系

本文介绍了C51单片机中变量定义与硬件的关联,包括修饰符如auto,数据类型如bit、sfr、sbit,存储类型及其与程序存储空间(ROM)、数据存储空间(RAM)的关系。内容涵盖哈佛和冯诺依曼存储结构,以及不同存储类型的内存分配,如data、xdata、pdata等。
摘要由CSDN通过智能技术生成

C51 语言的变量定义

定义方式:
普通变量:[修饰符] 数据类型 [存储类型] 变量名 [= 值]
指针变量: [修饰符] 所指向的地址的数据类型 [所指向的地址的存储类型] *[指针的存储类型] 变量名 [= &所指向的变量名]
指针变量的赋值:(不用 *)指针变量变量名 = 所指向的变量名

修饰符

修饰符 释义
auto 一般变量
static 静态类型,一开始即被分配存储空间,定义的范围之外是不可见的,只在文件内部、模块内部有效。并且实现离开模块时不被修改。
extern 全局类型,在函数体外、其他文件中定义过变量。在某函数中引用时,要用 extern 声明
register 寄存器变量,很少用了。

auto 定义的变量为自动变量。自动变量的作用范围在定义的函数和复合语句内部。在定义它的函数体或复合语句被执行时,C51 才为该变量分配内存空间。当函数调用结束后,自动变量将自动释放。auto 一般省略,即若变量没有声明修饰符时,一般默认为 auto。

由于片内 RAM 的访问速度很快,通常将函数体内或复合语句中使用频繁的变量存放于片内 RAM 中,这样可以有效利用片内 RAM 的资源。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhuo木鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值