我读到 malloc() 和 calloc() 传递的指针从堆中动态分配内存。
char *Name="Ann";
- 在这种情况下,静态字符串{'A','n','n','\0'}是否也存储在堆中?
- 我可以使用指针修改字符串吗?
最佳答案
- 不,字符串是静态分配的。 (C99,§6.4.5/5)
- 尝试修改字符串文字会产生未定义的行为。 (§6.4.5/6)
关于c - 静态指向内存的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3682186/