Исправить ошибку "не найден бинарный оператор" - C (СИ)
Формулировка задачи:
if (r!=NULL)
struct TreeNode { int inf; struct TreeNode *left, *right; };
Решение задачи: «Исправить ошибку "не найден бинарный оператор"»
textual
Листинг программы
struct TreeNode r; //r - готовая структура с неинициализированными полями. //В таком виде ее никак не проверишь, по-этому лучше инициалзировать так: memset (&r, 0, sizeof(struct TreeNode)); //а уже после этого проверять можно, например, так: if(r.left || r.right || r.inf){/*что-то в этом есть...*/} struct TreeNode *r; //неинициализированный указатель - не проверить никак struct TreeNode *r = 0; //проверять так: if(*r){/*инициализирован*/}
Объяснение кода листинга программы
- Объявляется структура
TreeNode
с полемr
. - Указатель
r
инициализируется какNULL
(или как0
). - Функция
memset
используется для инициализации структурыTreeNode
нулями. - Если поля
left
,right
илиinf
структурыTreeNode
не равныNULL
, то это означает, что структура была инициализирована. - Поле
r
структурыTreeNode
не инициализируется и остается неинициализированным. - Указатель
r
инициализируется какNULL
(или как0
). - Если указатель
r
не равенNULL
, то это означает, что указатель был инициализирован.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д