У вас проблема с вводом указателя.Я удивлен, что он даже компилируется, поскольку &HuffmanNodes
имеет тип node***
.
Попробуйте это:
void read_Huffman_encoded_data(struct node ***HuffmanNodes)
{
*Huffman_nodes = (node**)malloc(sizeof(node*)*(*number_of_nodes));
int index;
for(index=0; index<*number_of_nodes;index++)
{
(*Huffman_nodes)[index] = (node*)malloc(sizeof(node));
(*Huffman_nodes)[index]->first_value=1;
(*Huffman_nodes)[index]->second_value=2;
}
}
У вас также есть некоторые несоответствия имен (которые я исправил), яНадеюсь, что это просто опечатки от удаления программы.
РЕДАКТИРОВАТЬ: Альтернативный метод
int main()
{
struct node** HuffmanNodes = (node*)malloc(sizeof(node) * (*number_of_nodes));
read_Huffman_encoded_data(HHuffmanNodes);
}
void read_Huffman_encoded_data(struct node **HuffmanNodes)
{
int index;
for(index=0; index<*number_of_nodes;index++)
{
Huffman_nodes[index] = (node*)malloc(sizeof(node));
Huffman_nodes[index]->first_value=1;
Huffman_nodes[index]->second_value=2;
}
}