Я новичок в C и пытаюсь понять некоторые фундаментальные вещи.Я пытаюсь создать структуру, которая содержит массив, который состоит из связанных списков.Что-то вокруг этого.
--------------------------------
| A | B | C |
--------------------------------
| | |
V V V
------- ------- -------
| a | | b | | c |
------- ------- -------
|
V
--------
| a1 |
--------
То есть ill имеет массив, который содержит заголовок (A, B и C) каждого связанного списка, и каждая головка будет содержать указатель на следующий узел.
У меня есть структура Object
typedef struct Object {
void* data;
struct Object* next;
struct Object* head;
}Object;
И таблица, которая содержит дополнительную информацию
typedef struct Table {
Object** arr;
//More info...//
}Table;
У меня есть функция, которая должна создать таблицу с массивом.
Table* createTable(){
Table* table = (Table*)malloc(sizeof(struct Table*));
Object **array = (Object**)malloc(3*sizeof(struct Object*));
for(int j = 0; j < size; j++){
array[j] = malloc(sizeof(struct Object));
}
table->arr = array;
return table;
}
Но вся моя память не работает, как я надеялся, я продолжаю получать массив только с одним узлом.Я предполагаю, что я все еще скучаю по некоторым основным вещам.
Спасибо