что делает функция добавления узла в конец - PullRequest
0 голосов
/ 28 апреля 2019

Я хочу знать, что именно делает функция add_node_end:

typedef struct listint_s {
    char *a;
    char *b;
    struct listint_s *next;
} listint_t;

listint_t *add_node_end(listint_t **head, char *a, char *b) {
    listint_t *tmp_node, *new_node;

    new_node = malloc(sizeof(listint_t));
    if (!new_node)
        return (NULL);
    new_node->a = a;
    new_node->b = b;
    new_node->next = NULL;
    if (!*head) {
        *head = new_node;
        return (*head);
    }
    tmp_node = *head;
    while (tmp_node->next)
        tmp_node = tmp_node->next;
    tmp_node->next = new_node;
    return (*head);
}
...