Ocelot
2020-07-19
看判断那儿是不是不对
qq_慕仙7123283
2019-10-20
看视频作者的定义,在链表结构体中定义的next指针,这个next指针的类型就是自身结构体的类型,也就是说next++,会自动转到下一个结构体的头地址。
编程小熊
2019-03-01
char name 根本放不了"xiong",溢出了都。 char 单字节,只能放一个byte
江户川柯南_qq
2018-11-29
看着应该是对的
慕盖茨2244456
2018-07-04
qq_晓子橘怪兽_0
2017-10-16
while(p=!NULL)应修改为:while(p != NULL)
蓝色真空_
2017-08-08
在定义的时候加了*的都是指针变量,都是一个地址
慕粉233007138
2017-08-05
while循环结束时给p赋值应为p = p -> next
p->name的数据类型为c,将%s改为%c即可
C10H16N5O13P3
2017-08-02
你执行的是sizeof(p)吗?
p 实际上只是一个 是指向 struct weapon{}的指针
内存为struc weapon{}结构体分配了:两个int型、一个指针类型。
因此strut weapon所占空间为4+4+8 =16
sizeof(p)的值为16
没毛病
懂了吗
xueyinglove
2017-03-18
应该差不多吧?但是可能有些东西是新的而已 你们大学没学到而已
未入门的上帝
2016-12-26
是的,自己试试就知道了,不过要写为struct weapon weapon1={1,2};&weapon1.a和&weapon1
天嘿嘿
2016-10-17
你把struct weapon *p你把它换成int *p,你看懂吗?定义struct类型的地址,其实struct也是一种类型了,C语言中给出了另一种构造数据类型——“结构”,不能只有int啥的是类型,struct也是类型。
慕后端9788028
2016-10-04
你是直接打印的next的地址啊,计算机怎么知道你要打印哪个结构体的next?修改为p &a.next
wish_only
2016-08-08
数组赋值不能这样来的吧,要用strcpy吧
yunyulian
2016-07-17
按我的理解结构体指针传递的应该是结构体的首地址,你把p++后指向的是12个字节后的地址,并非下一个节点的首地址,而是下一个节点的指针地址,肯定无法读出数据,你可以试试在创建结构体的时候将指针写在第一个位置,等同于结构体首地址,应该可以。
qq_隐匿_03229380
2016-05-26
#include <stdio.h>
struct nam
{
char *name[20]; //用指针
int old;
float height;
struct nam * next;
};
int main()
{
struct nam a,b, *head;
a.name[0]="李"; //第一个地址
a.old=16;
a.height=70.2;
b.name[0]="林";
b.old=21;
b.height=65.3;
head=&a;
a.next=&b;
b.next=NULL;
struct nam *w;
w=head;
while (w!=NULL){
printf("姓名:%s\n年龄:%d\n身高:%f\n",w->name[0],w->old,w->height); //把地址取出来
w=w->next;
}
return 0;
}
//我就想到这个办法能打印名字出来
define_ray
2016-01-24
如果你不想使用P,可以直接用head来代替p,我试过结果一样
LZ子龙
2015-12-29