问题遇到的现象和发生背景
c的存储空间的问题
问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *testMemory(char *bb);
int main() {
char a[10] = "sdsdsa";
printf("main a :%p\n",a);
printf("%s", testMemory(a));
}
char * testMemory(char *bb) {
printf("testMemory bb:%p\n",bb);
char *a = bb;
return a;
}
运行结果及报错内容
$ ./mains
sdsdsa%
我的疑问
testMemory 返回后 为什么不会把栈区内存a 销毁.
通过Testmemory 传进来的实参 是main分配在栈空间的内存地址, testmemory 返回不应该释放实参即栈空间的地址吗