1
代表在计算一些变量微小结构绝对应该存储在堆栈上,而是比较常见的结构是什么像这样的:在堆栈上存储C结构是否是一种很好的做法?
typedef struct {
int number_of_nodes;
int number_of_edges;
char *adjacency_matrix;
} graph_t;
现在我保存在栈上graph_t结构:
graph_t graph1 = read_graph(PATH);
graph_t graph2 = new_graph(graph1.number_of_nodes);
func(&graph1, &graph2);
是否有任何理由将此结构保存在堆内存中而不是堆栈中?
graph_t *graph1 = read_graph(PATH);
graph_t *graph2 = new_graph(graph1->number_of_nodes);
func(graph1, graph2);
堆栈也是内存...... – 2013-07-09 21:32:47
另外,不,如果结构是变量的本地,并且不需要返回指向它们的指针,那么肯定不会为它们mallocate内存,只是声明它们具有自动存储时间。 – 2013-07-09 21:33:32
@ H2CO3“mallocate”?爱它。 – feralin