1>软件平台使用的是keil mdk5.11
2>源码和图片(使用jtag在线debug的截图)
3>我使用的是stm32f407单片机开发板,它的flash地址是从0x8000 0000~0x8010 0000,它的ram的地址是从0x2000 0000~0x2002 0000(不包含CCMRAM)
[mw_shl_code=c,true]int main()
{
u8 p[] = "abcd";
u8 *q = "abcd";
printf("%s
",p);
printf("%s
",q);
}
[/mw_shl_code]
问题1>指针p(0x200027f0)是存储在ram中,这个我可以理解,那它其中的p[0],p[1],p[2],p[3]都是存储在ram中的,地址依次自增+1个字节?是不是这个意思???
问题2>第一个"abcd"是存储在ram中,还是存储在flash中?为什么?
问题3>指针q是存储在哪里啊?看图中的0x08000250,既不是存储在ram中,也不是存储在flash中啊,小弟想不明白,恳请原子哥指教~~~
问题4>第二个"abcd"是存储在ram中,还是存储在flash中?为什么?
---------------------------------
相互学习~
一周热门 更多>