gpt4 book ai didi

c - C中的内存消耗

转载 作者:行者123 更新时间:2023-12-01 23:34:19 24 4
gpt4 key购买 nike

我想知道如何测量 C 中图形的内存消耗。使用以下代码,我用 V 节点初始化了一个没有边的图:

Graph GRAPHinit(int V)
{
int v;
Graph G = malloc(sizeof *G);
G->V = V; G->E = 0;
G->adj = malloc(V*sizeof(link));
for (v = 0; v < V; v++) G->adj[v] = NULL;

return G;
}

Graph 是一个结构体,表示为邻接表:

struct graph { 
int V;
int E;
link *adj;
};

typedef struct node *link;

struct node {
int v;
link next;
};

typedef struct graph *Graph

是否可以通过 sizeof-Operator 测量 G 使用的空间量?其他可能性?

最佳答案

不,您不能纯粹使用 sizeof-operator 来完成它,因为它只能用于编译时静态内存分配。

充其量您可以实现一个新功能,例如

unsigned int getMemoryUsage(Graph *g){ 
return sizeof(*G) + G->V * sizeof(link);
}

关于c - C中的内存消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9433572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com