этот код является двоичным деревом поиска, которое я выполняю для моего школьного задания.запрос для члена в чем-то не структура или объединение, но его структура
#include "binary_tree.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 10
Node* create_tree() {
return NULL;
}
void insert_tree(Node** root, char* nname, char* number) {
if (*root==NULL){
Node* node = (Node *)malloc(sizeof(Node));
strncpy(node->name , nname, MAXLEN);
strncpy(node->number , number, MAXLEN);
node->left = node->right = NULL;
*root = node;
return;
}
if (strncmp(*root->name, nname, MAXLEN)) {
insert_tree(&(*root)->left, nname, number);
} else {
insert_tree(&(*root)->right, nname, number);
}
}
void preorder(Node* node, int level){
int i;
if (node==NULL){
//printf("null\n");
return;
}
for (i = 0; i<level; i++) {
printf(" ");
}
printf("%s %d\n", node->name, level);
preorder(node->left, level + 1);
preorder(node->right, level + 1);
}
Это мой полный код. Ну я не удалил необходимые биты кодов, но вот все, что мне нужно, знаю ..
typedef struct t_node {
char name[MAXLEN + 1];
char number[MAXLEN + 1];
struct t_node *left;
struct t_node *right;
} Node;
и это тип узла я использую.
уставки insert_tree, вставив один узел в норму.
но когда я использую strncmp, он получает ошибки. «Запросить информацию о членах, не являющихся структурой или объединением»
не является узлом структуры узла?
Я не понимаю, почему я получаю ошибки ..
может кто-нибудь помочь мне?
Я потратил около 4 часов только, чтобы решить эту проблему ..
извините за мой бедный английский из-за национальности
Извините за глупый вопрос. Он решен –