c语言 结构体问题!!高分!着急!
答案:3 悬赏:80 手机版
解决时间 2021-11-27 19:08
- 提问者网友:佞臣
- 2021-11-27 09:15
c语言 结构体问题!!高分!着急!
最佳答案
- 五星知识达人网友:过活
- 2021-11-27 10:12
ptr_em是个指向vector结构的指针,所以应该用“->”来引用它指向的结构体中的成员。
char *tmp = root->ptr_em->name;
还有下面这句也错了,编译能过,但运行时可能会出错。
root=(struct node *)malloc(sizeof(struct node*));
这里用malloc分配的应该是一个node结构体,所以调用malloc传入需要分配的内存大小应该是node结构体的大小,而不是node结构体指针的大小。也就是说应该改成下面这样:
root=(struct node *)malloc(sizeof(struct node));
char *tmp = root->ptr_em->name;
还有下面这句也错了,编译能过,但运行时可能会出错。
root=(struct node *)malloc(sizeof(struct node*));
这里用malloc分配的应该是一个node结构体,所以调用malloc传入需要分配的内存大小应该是node结构体的大小,而不是node结构体指针的大小。也就是说应该改成下面这样:
root=(struct node *)malloc(sizeof(struct node));
全部回答
- 1楼网友:神也偏爱
- 2021-11-27 13:01
把name删除后,输入法看好在英文状态重新输入一次。
- 2楼网友:深街酒徒
- 2021-11-27 11:50
root=(struct node *)malloc(sizeof(struct node));
elem[0].name = "天下第一";
elem[1].name = "天下第二";
elem[2].name = "天下第三";
elem[3].name = "天下第四";
字符指针应该指向字符数组啊!!!
elem[0].name = "天下第一";
elem[1].name = "天下第二";
elem[2].name = "天下第三";
elem[3].name = "天下第四";
字符指针应该指向字符数组啊!!!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯