C - довольно простой и простой язык. Единственный выбор у вас есть, чтобы explicitlly поставить значение узла где-то, Eiter:
- глобальных переменная
- параметров на функции
- возвращаемого значение
Варианта 2 и 3 являются наиболее распространенными из них. В качестве аргумента функции:
void build(struct Node **node_param)
{
struct Node *node;
node = (struct Node*)malloc(sizeof(struct Node));
*node_param = node;
}
Для варианта 3 может быть просто:
struct Node * build()
{
struct Node *node;
node = (struct Node*)malloc(sizeof(struct Node));
return node;
}
Вы можете либо создать отдельную переменную или создать-структуру с большим количеством полей в случае, если у вас есть много значений, чтобы вернуться от вашей функции.
Да, это возможно. – user1336087
@geoxile Вы можете передать указатель в качестве аргумента? – 4pie0
Нет, к сожалению, функция уже установлена, я просто должен ее использовать. Решение глобальной переменной vz0 является единственным вариантом. – geoxile