相关疑难解决方法(0)

C会自动为我分配内存吗?

我只用了几个星期才开始写C而且没有花时间过分担心自己malloc().然而,最近,我的一个程序返回了一串幸福的面孔而不是我预期的真假值.

如果我创建这样的结构:

typedef struct Cell {
  struct Cell* subcells;
} 
Run Code Online (Sandbox Code Playgroud)

然后再像这样初始化它

Cell makeCell(int dim) {
  Cell newCell;

  for(int i = 0; i < dim; i++) {
    newCell.subcells[i] = makeCell(dim -1);
  }

  return newCell; //ha ha ha, this is here in my program don't worry!
}
Run Code Online (Sandbox Code Playgroud)

我最终会在某个地方访问存储在内存中的快乐面孔,或者可能会写入以前存在的单元格,或者是什么?我的问题是,当我没有实际malloc()编辑适当的内存量时,C如何分配内存?什么是默认值?

c malloc

4
推荐指数
2
解决办法
3105
查看次数

标签 统计

c ×1

malloc ×1