求教单片机内存问题
时间:12-12
整理:3721RD
点击:
stm32程序,用到了1个结构体,结构体有个成员是char * NameStr
程序运行过程中根据需要使用calloc申请了1个该结构体,
其中NameStr成员是使用NameStr = "Hello World!\0"的方式赋值的。
结构体使用完后,某些情况下,需要释放,使用free释放了结构体。
请问,"Hello World!\0"这个字符串占用的内存会被自动收回吗?还是说就浪费掉了?
程序运行过程中根据需要使用calloc申请了1个该结构体,
其中NameStr成员是使用NameStr = "Hello World!\0"的方式赋值的。
结构体使用完后,某些情况下,需要释放,使用free释放了结构体。
请问,"Hello World!\0"这个字符串占用的内存会被自动收回吗?还是说就浪费掉了?
嵌入式用动态内存分配干什么。
不会。
咳咳,试试去embed版问吧
这么简单的问题,
不建议动态分配内存。
显然不会,字符串用到的heap和calloc用到的堆不是同一空间,2个不同的概念
"Hello World!\0"这是个字符串常量,放在静态数据区的,不是动态分配的。。。
你说的是对的,我理解错了。