c++ - 内存分配小题C++

标签 c++ memory-management

int main() {


  char **k;
  char *s ="abc"; 
  char *b ="def";

  *k = s;


}

//为什么会产生segmentation fault?难道一切都应该毫无问题地存储在堆栈上吗?

最佳答案

k 还没有定义值,因此取消引用它 (*k) 会导致未定义的行为。如果您添加初始化,即 k = &b;*k = s; 将在之后工作。

关于c++ - 内存分配小题C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6566204/

相关文章:

c++ - 我是否正确删除了它?

c++ - 带有 std::function 参数的重载运算符

c++ - 限制文件夹重命名 cocoa

c - 链表。在哪里分配以及如何应对碎片化?

c# - 使用对象初始化器有什么好处吗?

objective-c - 是什么增加了对象的保留计数?

c++ - OpenGL - 最大化/最小化输出窗口调整内部对象的大小。我怎样才能避免这种情况?

c++ - 单链表的时间复杂度

macos - 无法了解MacOSX中的非事件内存

iphone - super 释放 EXC_BAD_ACCESS 错误