char *p = "hello";
p = "hello_2";
此处字符串“hello”存储在内存中,其地址存在于指针“p”中,但是当该指针开始指向字符串“hello_2”时,存储字符串“hello”的内存会发生什么变化?它会被释放还是该字符串保留在那里但我们无法访问它?
最佳答案
您拥有的是一个字符串常量,它存储在只读内存中。
因此,不需要使用 free()
在变量 p
的生命周期有效之前,您可以访问存储的字符串。
关于c - 当指针指向一个新字符串时,分配给该指针寻址的字符串的内存会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50810408/