このコードの操作:
#include <stdlib.h>
#include <stdio.h>
int j_btree_create (int fn_initial_nodes);
typedef struct {
int depth;
int value;
void *item;
void *left_pointer;
void *right_pointer;
} j_btree_node_int;
typedef struct {
int nodes;
int available_nodes;
int btree_extension;
} j_btree_descriptor_int;
int j_btree_create (int fn_initial_nodes) {
int *free_btree_node;
int loop_counter;
j_btree_descriptor_int *btree_start;
btree_start = (j_btree_descriptor_int *) malloc (((sizeof(j_btree_node_int) + sizeof(free_btree_node)) * fn_initial_nodes) + sizeof(j_btree_descriptor_int));
(*btree_start).nodes = fn_initial_nodes;
(*btree_start).available_nodes = fn_initial_nodes;
(*btree_start).extension = NULL; */
for (loop_counter = 0; loop_counter < fn_initial_nodes; loop_counter++) {
printf ("loop_test: %d", loop_counter);
}
}
二分木記述子 (基本的には btree_start の構造体) の後の場所を指すポインタが必要です
でこれを行うことができますか
free_btree_node = btree_start + sizeof(j_btree_descriptor_int);
それとも、これは完全に間違っている可能性がありますか? もしそうなら、どうすればいいですか?未使用のバイナリ ツリー ノードのテーブルに最初にデータを入力するのと同様のことを行います。