之前粗心用了全局指针变量*name,且局部指针变量与全局变量重名,导致出现一系列奇怪问题,现已删除全局变量。
但是现在每次执行完函数内部这句 char *name = (char *)mymalloc(SRAMIN,16); 都指向同一个地址0x20001EC0,且变量已有初值,strlen(name)不为16而等于38,即使加一句myfree(SRAMIN,name); name = NULL; 再重新分配空间仍然如此,这是为什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
为什么动态分配的空间每次都在同一个地方呢?究竟哪里出了问题?
这段程序我是放在中断服务里的,每次按键都会触发这里,但是每次按键之后分配空间获取的值都是上次按键获得的值。
一周热门 更多>