| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1003 人关注过本帖
标题:malloc的技术难题
只看楼主 加入收藏
jxxjzzh
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-12-10
收藏
 问题点数:0 回复次数:6 
malloc的技术难题
多次malloc得到的地址一样,比如:
  La->elem=(ElemType *)malloc(LIST_INIT_SIZE *sizeof(ElemType));
  Lb->elem=(ElemType *)malloc(LIST_INIT_SIZE *sizeof(ElemType));
  Lc->elem=(ElemType *)malloc(LIST_INIT_SIZE *sizeof(ElemType));
      printf("%d\n",La->elem);
  printf("%d\n",Lb->elem);
  printf("%d\n",Lc->elem);
  结果为:3156
        3156
        3156
因为我在链表里加值时,  实际上就是对一张表操作,也就是它们是一张表.我想要的是三个不同的表,分配三个不同的地址.
请为有什么方法可以解决吗?
搜索更多相关主题的帖子: 技术 难题 malloc 
2008-12-10 20:36
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
不可能的,贴程序吧
2008-12-10 22:30
xlh5225
Rank: 2
等 级:论坛游民
威 望:2
帖 子:188
专家分:25
注 册:2007-8-14
收藏
得分:0 
不相信楼主!贴程序吧!
2008-12-10 22:32
守鹤
Rank: 4
来 自:山東臨沂
等 级:贵宾
威 望:12
帖 子:337
专家分:0
注 册:2008-6-20
收藏
得分:0 
把程序贴出来吧
我认为这种可能性很小

多少个日日夜夜想起你,只希望有缘再次相见
2008-12-10 23:35
rootkit
Rank: 1
等 级:新手上路
帖 子:197
专家分:5
注 册:2008-9-26
收藏
得分:0 
可能是因为La,Lb,Lc指向了相同的位置。改成这样试试:

La->elem=(ElemType *)malloc(LIST_INIT_SIZE *sizeof(ElemType));
printf("%d\n",La->elem);  
Lb->elem=(ElemType *)malloc(LIST_INIT_SIZE *sizeof(ElemType));
printf("%d\n",Lb->elem);
Lc->elem=(ElemType *)malloc(LIST_INIT_SIZE *sizeof(ElemType));
printf("%d\n",Lc->elem);

降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-10 23:48
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 第5楼 rootkit 的帖子
请问一下rootkit 这位朋友,您觉得这个程序怎么样?我的意思是说,您能否点评一下这个程序?

https://bbs.bccn.net/thread-248212-1-1.html
2008-12-10 23:54
rootkit
Rank: 1
等 级:新手上路
帖 子:197
专家分:5
注 册:2008-9-26
收藏
得分:0 
没什么好说的,对于刚学完C语言的人来说写到这个程度还算可以。但是最好继续学习OS的API,提高程序效率。
收到的鲜花
  • 广陵绝唱2008-12-11 00:09 送鲜花  21朵   附言:谢谢。

降妖除魔路,仗剑载酒行
借问谁家子,大唐游侠儿
2008-12-11 00:00
快速回复:malloc的技术难题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021129 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved