Я делаю связанный список (структур) в C, но я хочу иметь возможность вызывать функцию, чтобы она сама добавляла в список 4-5 элементов. Проблема в том, что в C все переменные, созданные в функциях, остаются в стеке / куче. Я понятия не имею, как я должен это сделать.
Вот пример кода:
struct listItem
{
int value;
listItem *left;
listItem *right;
}
void addItems(listItem *l)
{
listItem one, two, three;
l->left = &one;
one.left = &two;
two.left = &three;
}
int main (char *a [])
{
listItem l;
addItems(l);
}
Очевидно, это не сработает. Как я могу это сделать? Это вообще возможно.
Спасибо
РЕДАКТИРОВАТЬ: Wow спасибо всем за помощь. Это было быстрее и полезнее, чем я мог себе представить!