回复 8楼 明明白白
释放了那20066块字节之后,ptr仍然是个指针,既然是指针,就可以让它指向一个字符串,所以ptr = "world"是对的。
另外,ptr="world"和strcpy(ptr,"world")肯定是有区别 的,当已经给ptr分配了内存时(假如是10个字节),这是,ptr就相当于是一个数组了(但是仅仅10字节大小),ptr="world"和strcpy(ptr,"world")效果就一样了(只是如果真的是数组的话不能直接赋值)。当没有给ptr分配内存时,你用strcpy(ptr,"world")就有问题了,因为你不知道ptr具体指向空间的大小,确切来说,它只指向某一个字节,而你用ptr = "world"时,相当于吧“world”(这是常量无名字符串,存储在静态池中)的首地址赋值给了ptr,首地址就是一个字节的地址,而ptr就是指向一个字节地址的。