鱼C论坛

 找回密码
 立即注册
查看: 3579|回复: 8

数据结构单链表 麻烦帮我看看怎么回事

[复制链接]
发表于 2014-11-28 14:24:02 | 显示全部楼层 |阅读模式

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

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

x
void CreateList_L(LinkList *L, int n) {  // 算法2.11
  // 逆位序输入(随机产生)n个元素的值,建立带表头结点的单链线性表L 
  LinkList p;
  int i;
  srand(time(0));
  (*L) = (LinkList)malloc(sizeof(LNode));
  (*L)->next = NULL;              // 先建立一个带头结点的单链表
  for (i=0; i<n; i++) {
    p = (LinkList)malloc(sizeof(LNode));  // 生成新结点
    p->data = rand()%100+1;     // 改为一个随机生成的数字
    p->next = (*L)->next;   
        (*L)->next = p;    // 插入到表头
  }
} // CreateList_L
这里面为什么是(*L)->next  在结构体中不是(*L).next 的引用吗 ?
还有第二个问题  p = (LinkList)malloc(sizeof(LNode)) 这个中  被强制转换后 不是指针了 怎么可以赋值给指针变量P呢 malloc没有被强制转换返回的是viod*类型的 相当于一个地址。我想应该是p = (LinkList*)malloc(sizeof(LNode))
在这句(*L) = (LinkList)malloc(sizeof(LNode))  中(*L) 表示的不是指针了 因为有个* 是取指针L所指向的内容或者赋值给它  经过强制转换 2边类型一样可以赋值  但是在p = (LinkList)malloc(sizeof(LNode)) 这个中 按那样分析就说不通了。。这到底那里出错了呀???????????????????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-11-28 15:27:34 | 显示全部楼层
(*L) = (LinkList)malloc(sizeof(LNode));
这句不是应该是L = (LinkList *)malloc(sizeof(LNode));    这样写么  .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-28 15:38:55 | 显示全部楼层
(*L)->next  在结构体中不是(*L).next      //(*L)->next没见过这种写法
应该是L->next  和(*L).next
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-28 15:57:49 | 显示全部楼层
小人 发表于 2014-11-28 15:27
(*L) = (LinkList)malloc(sizeof(LNode));
这句不是应该是L = (LinkList *)malloc(sizeof(LNode));    这 ...

但是 小甲鱼老子是这样写的 没错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-28 15:58:31 | 显示全部楼层
小人 发表于 2014-11-28 15:38
(*L)->next  在结构体中不是(*L).next      //(*L)->next没见过这种写法
应该是L->next  和(*L).next

小甲鱼老师是这样写的 不知道写错了还是什么的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-11-28 16:07:41 | 显示全部楼层
woaini92887 发表于 2014-11-28 07:58
小甲鱼老师是这样写的 不知道写错了还是什么的

或许是我忘记了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-1 19:53:45 | 显示全部楼层
激动人
心  无法言表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-14 13:43:22 | 显示全部楼层
楼主你现在明白了,我也遇到这个问题,好费解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-12-16 18:38:33 | 显示全部楼层
你是这样定义的啊  LinkList *L ,所以*L分配的空间是这个类型的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 07:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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