Что происходит, так это то, что первый printf показывает другую ячейку памяти, чем второй . Код, который создает проблему.
printf("%p\n", node->main_stacks->a_stack->top);
new_lsl_node->a_stack = (struct stack*) malloc(sizeof(struct stack));
if(new_lsl_node->a_stack == NULL) return -1;
printf("%p\n", node->main_stacks->a_stack->top);
Все структуры, которые я использую в программе, выглядят так:
struct name1
{
struct name2 *pointer_to_another_struct;
struct name1 *pointer_to_the_next_node;
}
Итак, проблема появляется после того, как я полностью все удалю под структурой main_stacks-> pointer_to_another_struct а позже я пытаюсь выделить память для другой структуры, как показано выше. Между показанным выше кодом ничего не происходит.