鱼C论坛

 找回密码
 立即注册
查看: 2751|回复: 4

关于结构体赋值的问题

[复制链接]
发表于 2011-12-8 09:02:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  1. struct student *creat()   //创建链表函数
  2. {
  3.       struct student *head;
  4.       struct student *p1,*p2;
  5.       
  6.       p1 = p2 = (struct student *)malloc(LEN);     //调用系统函数malloc申请空间,并通过强制转换赋值给p1和p2
  7.       
  8.       printf("Please Input number:");              //打印提示
  9.       scanf("%d",&p1->num);                       //获取输入到p1->num
  10.       printf("Please Input score:");             //打印提示
  11.       scanf("%f",&p1->score);                   //获取输入到p1->score
  12.       printf("\n");
  13.       
  14.       head = NULL;     //初始化链表,代表链表为空
  15.       
  16.       while(p1->num)    //如果输入的序号不为0
  17.       {
  18.             n++;       //节点计数器自增1
  19.             if(n == 1)        //判断节点计数器的值
  20.             {
  21.                   head = p1;   //head指向p1
  22.             }
  23.             else
  24.             {
  25.                   p2->next = p1;   //p2->next指向p1
  26.             }
  27.             p2 = p1;         //把p1的值赋值给p2
  28.             p1 = (struct student *)malloc(LEN);      //调用系统函数malloc申请空间,并通过强制转换赋值给p1
  29.             
  30.             printf("Please Input number:");     //打印提示
  31.             scanf("%d",&p1->num);
  32.             printf("Please Input score:");
  33.             scanf("%f",&p1->score);
  34.             printf("\n");
  35.       }
  36.       p2->next = NULL;
  37.       free(p1);
  38.       return head;
  39. }
复制代码
上面是一个建立链表的函数,其中 p2->next = p1;和p2 = p1;  p1不是指向头结点么,然后把p1的值赋值给p2,那不是会把p2->next的值也覆盖了?我记得2个结构体之间赋值,是会把所有成员都赋值了。
小甲鱼最新课程 -> https://ilovefishc.com
头像被屏蔽
发表于 2011-12-8 11:43:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-12-8 16:13:58 | 显示全部楼层

在第25行那,p2->next指向p1,然后在第27行,p1的值赋值给p2,那p2->next的值会被改变吗?
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2011-12-8 17:35:50 | 显示全部楼层
同样学到了结构体的路过学习拉
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2011-12-10 14:06:57 | 显示全部楼层
ever.g 发表于 2011-12-8 17:35
同样学到了结构体的路过学习拉

那你有何见解?
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-9 20:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表