Мой вопрос в том, как получить доступ к переменной num в структуре узла структуры списка? Я пробовал два пути, и оба они не работали? Мне просто интересно, почему это так. Спасибо всем, кто помогает мне знать, что это новичок. Я довольно новичок в переполнении c и стека, надеюсь, я могу многому научиться на этом веб-сайте.вложенные структуры/связанные списки в c
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int num;
struct node *next;
} node;
typedef struct list
{
node *ptr;
struct list *next;
} list;
int main()
{
list *p = malloc(sizeof(list));
//p->ptr->num = 5;
node *x;
x = p->ptr;
//x->num = 5;
return 0;
}
Список не содержит указателей на узлы, пока вы их не добавите. Вам нужно будет выделить «узел» для 'x', чтобы указать, а затем установить' p', чтобы указать на узел. Только после этого вы можете начать доступ к значению. Итак, 'p-> ptr = x;' более правдоподобно, чем обратное присваивание, но вам все равно нужно соединить все точки. –