В функции необходимо сделать проверку пустой ли указатель или нет - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите разобраться. Существует указатель на структуру. Этот указатель (его адрес передается в функцию). В функции необходимо сделать проверку пустой ли указатель или нет. По сути это я делаю реализацию дерева на Си (не ++). Делаю так:
typedef struct Tree
{
    Word *word;
    struct Tree *pLeft;
    struct Tree *pRight;
} Tree;
 
------------
 
int push(struct Tree **head, char myword[])
{
    if (*head == NULL) /// !! Ошибка !!
    {
        *head = (Tree*) malloc(sizeof(struct Tree));
        (*head)->word = newWord; // ссылка на др. структуру, данные.
        (*head)->pLeft = NULL;
        (*head)->pRight = NULL;
        return 0;
    }
}
 
------------
 
int main()
{
    char *buffer[30];
    Tree *mytree = 0;
     push(mytree, buffer);
}
Ошибка начинается на проверке на NULL. Как её правильно сделать?

Решение задачи: «В функции необходимо сделать проверку пустой ли указатель или нет»

textual
Листинг программы
int push(struct Tree **node, char myword[])
{
// здесь код из первого сообщения
 
if (compareWords(myword, (*node)->word->word) == 1) // некое условие
        push((*node)->pRight, myword); // как тут писать правильнее??
    else
        push((*node)->pLeft, myword);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5
Похожие ответы