局部指针变量分配内存空间每次都有同一个初值

2019-07-20 23:31发布

之前粗心用了全局指针变量*name,且局部指针变量与全局变量重名,导致出现一系列奇怪问题,现已删除全局变量。
但是现在每次执行完函数内部这句 char *name = (char *)mymalloc(SRAMIN,16); 都指向同一个地址0x20001EC0,且变量已有初值,strlen(name)不为16而等于38,即使加一句myfree(SRAMIN,name);  name = NULL; 再重新分配空间仍然如此,这是为什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
yuyan
1楼-- · 2019-07-21 00:59
 精彩回答 2  元偷偷看……
Psheng
2楼-- · 2019-07-21 05:42
 精彩回答 2  元偷偷看……
yuyan
3楼-- · 2019-07-21 06:13
Psheng 发表于 2019-6-20 11:37
那就是分配的同一个空间的。空间里面的值没有变。

为什么动态分配的空间每次都在同一个地方呢?究竟哪里出了问题?
这段程序我是放在中断服务里的,每次按键都会触发这里,但是每次按键之后分配空间获取的值都是上次按键获得的值。

一周热门 更多>