单片机C语言设置变量存储在什么地方

比如int a;这句话表示将a存储在RAM EEPROM Flash的哪个一呢?RAM EEPROM Flash分别在单片机中起到什么作用呢?

变量在RAM。
RAM是数据存储器,用来保存运行中的数据,掉电后数据消失。
EEPROM跟FLASH都是程序存储器,保存程序代码跟不分配内存的常量,两者的区别在于写入方式EEPROM是电擦除、写入,FLASH就跟手机内存卡一样追问

那比如 const int a = 18;这个a就是存储在FLASH中的吗?那怎么得到它的地址呢?

追答

const修饰的东西是在ram的,只有code才是rom。取地址直接用取值运算即可

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-29
RAM是内存,变量a就存在这里面。Flash 在单片机是做程序储存器,用于存放你的程序。eeprom也是用来存变量的,但是eeprom在断电后数据还在,RAM断电后数据就没了

单片机C语言设置变量存储在什么地方
变量在RAM。RAM是数据存储器,用来保存运行中的数据,掉电后数据消失。EEPROM跟FLASH都是程序存储器,保存程序代码跟不分配内存的常量,两者的区别在于写入方式EEPROM是电擦除、写入,FLASH就跟手机内存卡一样

C语言变量的定义与使用
变量的存储类别决定了变量中的数据在计算机内存中的存储位置。C语言中局部变量存放在动态存储区,全局变量或者静态变量存放在静态存储区。下面是关于C语言变量的定义与使用,欢迎参考!如果要为单片机控制系统编写出高质量的C语言程序,合理的定义并使用变量是非常重要的。程序是用来处理数据的,而变量就是用来...

单片机C语言定义变量时在变量类型和变量名之间插入东西是什么用法?
code位于代码段,一般是只读的 xdata是数据段,对应片内存储区

C语言局部变量一定存放在栈区么?
在51单片机的情况下,局部变量还可以存放在寄存器当中的,声明如下:register int count; \/\/count局部变量就存放在寄存器当中了而不是存放在栈中 补充:寄存器变量只能是局部变量,而不能是全局变量和静态变量的。在什么时候会用到呢?举个例子:for(i=0;i<10000;i++){ 循环语句;} 在上面这个f...

单片机C语言中的code什么意思?
C51的code修饰的变量,表示将变量存储在单片机程序存储空间FLASH中,节省单片机RAM资源,在程序中不能更改这些变量的值。

C语言变量的定义与使用
变量的存储类别影响着它们在计算机内存中的存放位置。在C语言中,局部变量存储在动态存储区,而全局变量或静态变量存储在静态存储区。以下是关于C语言变量的定义与使用的详细说明,希望对您有所帮助!变量的定义与使用 1. 选择合适的类型 定义变量时,应选择恰当的类型,因为变量的类型决定了其数据取值范围...

单片机C语言在声明变量默认放在DATA区吗,就是堆栈区,是不是全局变量局部...
一般情况下定义的变量都是data 区的,你也可以在定义变量时在全面加上关键词,把变量定义到不同的区域里。。。当片内地址空间用完时,还可以定义片外的地址。。。现在很多单片机内部都集成有片外的存储区。。。有关的关键字你可以参考下面这位大神总结的。。。http:\/\/blog.csdn.net\/dashon2011\/artic...

单片机定义unsigned char code led是什么意思?
指定变量led存储在code区。也就是rom或者是flash,这要看单片机程序存储器的构成,像7的就是EPROM如87C51;0的是掩模,如80C51;9的就是flash,常见的89S51.code去掉也可以,不过是把变量存放在别的区域。这要根据编译器的设定存储模式来定。如果变量体积大了,就要定义在code区。毕竟51系列的ram不够...

单片机c语言怎么把一个变量放到固定的地址?
int *P;P = 28h;P = 0x1234;这样就把变量存在指定的两个地址单元了

C语言中指针变量是存在哪里的?
1、指针变量和普通的变量一样,编译期储存在代码当中,运行期间储存在内存里。c语言的变量值是通过该变量的内存地址寻址得到的,而对于一个已经编译好的程序,变量的地址都是确定的值,不可以更改。这是因为程序在编译时编译器已经通过语法分析把指针变量的地址值计算出来了,所以指针变量实际上不用保存在...

相似回答