关于内存四区的的理解

假设代码区大小10KB,地址0x0000~0X2800,某工程代码区使用了5KB,那么常量区的起始地址是0x1401还是0x2801?全局区、堆区和栈区的地址分配和代码区相同吗?

程序运行前分代码区和全局区,如果代码区划分大小是10K,这10K就全部属于代码区,不能用于别的用途。堆和栈是在程序运行过程中区分的,地址是动态分配的。
看一下下面两篇文章:

都说了代码区大小10KB,代码区当然只能放代码,没用完的部分也不能随便放别的东西呀,随便放还分区干什么

你可以这样理解,代码区其实就是flash空间,工程代码占了flash5K。静态常量 const修饰的也在flash里面。全局区、堆栈、局部变量都是在RAM里面不在flash里面,这些的地址就要从内存地址来算了。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632