В функции необходимо сделать проверку пустой ли указатель или нет - C (СИ)
Формулировка задачи:
Помогите разобраться.
Существует указатель на структуру. Этот указатель (его адрес передается в функцию). В функции необходимо сделать проверку пустой ли указатель или нет.
По сути это я делаю реализацию дерева на Си (не ++).
Делаю так:
Ошибка начинается на проверке на NULL. Как её правильно сделать?
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); }
Решение задачи: «В функции необходимо сделать проверку пустой ли указатель или нет»
textual
Листинг программы
int push(struct Tree **node, char myword[]) { // здесь код из первого сообщения if (compareWords(myword, (*node)->word->word) == 1) // некое условие push((*node)->pRight, myword); // как тут писать правильнее?? else push((*node)->pLeft, myword); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д