Просто очень короткий вопрос, который возник из другого поста, если бы мне нужно было получить доступ к своему номеру char * в моем ListNode, из моего TreeNode, чтобы каждый TreeNode имел свой собственный связанный список чисел, я бы получил к нему доступ как следует (где TreeNode * root):
root->name = strdup(name); root->numbers->number = strdup(number);
Ура! * * 1004
typedef struct ListNode {
char *number;
struct ListNode *next;
}ListNode;
typedef struct TreeNode {
char *name;
ListNode *numbers;
struct TreeNode *left;
struct TreeNode *right;
}TreeNode;
РЕДАКТИРОВАТЬ: Вот моя функция, чтобы добавить TreeNode и список к этому узлу:
int main(void) {
char my_string[50], name[25], number[25];
TreeNode *root = NULL;
ListNode *list = NULL;
while ((fgets(my_string, 50, stdin)) != NULL) {
if (my_string[0] == '.')
break;
sscanf(my_string, "%s %s", name, number);
root = AddNode(root, list, name, number);
}
return 0;
}
TreeNode* AddNode(TreeNode *root, ListNode *list, char *name, char *number) {
int comparison;
if ( root == NULL) {
root = (TreeNode *)malloc(sizeof(TreeNode));
list = (ListNode *)malloc(sizeof(ListNode));
root->name = strdup(name); root->numbers->number = strdup(number);
root->left = root->right = NULL;