【发布时间】:2013-01-29 05:12:42
【问题描述】:
标题说明了一切。
I found an old question that is essentially the same,但我需要进一步澄清。
在这个问题中,接受的答案是:
char* text = "Hello, world";这里有一个自动变量(指针) 在堆栈上创建并设置为指向常量内存中的值, 这意味着:
- “”中的字符串字面量存在于整个程序执行过程中。
- 您不负责“分配”或“释放”它
- 你可能不会 更改。如果你想改变它,那么你必须分配一些 “非常量内存”并将其复制到那里。
这是说指针被删除了,而不是指针指向的数据? 如果我要在函数中创建 1,000,000 个指向字符的指针,当它们超出范围时,我的所有内存都会被释放吗?或者只是制作指针所需的内存,而将实际字符本身留在后面来占用我所有的内存?
【问题讨论】:
-
指针不会被删除。它被破坏了,在指针的情况下,它什么也不做。