请教一下如下代码,为什么主函数中的free会出现段错误
t="123"实际是改变了t的指向地址的,不能这么写。"123"是常量,有单独的存储地址
strcpy是内容拷贝,将常量"456"的内容复制到t指向的地址,这样t的地址不会改变
你确定是段错误而不是你第六行初始化指针出的问题?你这么写后面的malloc是void *,你用来初始化char *,确定没问题吗?
分配空间后 将t = "123"; 改为strcpy(t, "456");就可以了,想问一下二者的区别是啥。
你的错误可以截图发出来吗?你的free是在判断res不指向空的情况下释放空间,如果res指向空,那么就不会free。到底报错了什么?