ノードとエッジを持つ単純なグラフを作成しています。機能は動作しましたが、メモリのバグがいくつかありました。
ヘッダー ファイルに typedef 構造体があります。
typedef struct Graph_s* Graph;
そしてcでの実装。ファイル:
struct Graph_s {
Node* nodeArray;
Edge* edgeArray;
size_t edges;
size_t nodes;
};
そして建設のための機能:
Graph create_graph() {
Graph newGraph = malloc(sizeof(Graph));
newGraph->edges = 0;
newGraph->nodes = 0;
return newGraph;
}
行は次のようにGraph newGraph = malloc(sizeof(Graph))
与えます: Invalid write of size 8
Valgrind から。