MSGpkt 这个变量是一个指针变量。在它的内存当中可以存放一个指针,就是一个地址值。
你开始的时候在这个内存当中存放的一个指针,然后释放了那块地址,这里你要分清楚它释放的是哪个地址,注意,释放的是该指针变量所指向的内存空间的内存,而不是该指针变量的内存空间
所以就算是你释放了之后,依然可以对这个指针变量进行再次的赋值,给它赋一个新的指针。
可以很明确的告诉你不是野指针的问题.string1 和 string2 两个都是指向字符串字面值的字符指针, 它们所指向的内容位于代码段, 因而就是只读的, 而strcat函数对只读区域进行写操作必然会引起运行时错误.
解决方案, 不要用字符指针, 改为字符数组. 例如: char string1[32]
输出结果还是 1,按理说 i 已经消失了才对的啊我想,野指针是指该变量的指向已经不可预测,并不是说一定不指向该变量了.
所以我想你多试几次,应该会发现它的值是不确定的了.
也就是说这次的1是是不一定的了.