| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 935 人关注过本帖
标题:关于 malloc 函数问题
只看楼主 加入收藏
chenziguo
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2013-10-25
结帖率:58.33%
收藏
 问题点数:0 回复次数:10 
关于 malloc 函数问题
c语言是自学的求正解
p=(link*)malloc(sizeof(linklist));
中的link*代表什么意思?;
后面中的sizeof中的liklist代表的又是什么意思,不要太复杂的求一个通俗易懂的解释。
搜索更多相关主题的帖子: c语言 
2014-10-20 20:05
lovedym1314
Rank: 2
等 级:论坛游民
帖 子:3
专家分:20
注 册:2013-3-5
收藏
得分:0 
link*是返回link类型指针,sizeof是求长度的关键字(纯属个人理解哈)
2014-10-20 20:29
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
简单说说:
说个简单的 你可以类比一下
int *a;
a=(int *)malloc(sizeof(int));

link *p;
p=(link*)malloc(sizeof(linklist));

2014-10-20 20:55
EndingWu
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-4-6
收藏
得分:0 
用C++的方法更好理解
link* p;
p=new link;
2014-10-21 10:57
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
这还叫自学?相当于没学过

总有那身价贱的人给作业贴回复完整的代码
2014-10-21 11:55
丶wist
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2014-10-21
收藏
得分:0 
malloc前面加(link*)有强制转换的意思,sizeof是获取()中的字节数,即linklist占的字节数
2014-10-21 22:18
廉价的咖啡
Rank: 2
来 自:湖北 荆门
等 级:论坛游民
威 望:2
帖 子:53
专家分:17
注 册:2014-10-9
收藏
得分:0 
关于malloc函数:【C语言 int * p;p = (int *)malloc(sizeof(int));作用与意思】
 
    在这里,p = (int *)部分是说,将申请一个大小为int型大小的内存空间,并且返回地址,且把其地址强制转化成int*类型的。
    在这里,malloc(sizeof(int))部分是说,用malloc函数动态分配一个整形的内存空间,sizeof()是单目运算,求出对应类型所占用的字节数(类型名)为单目运算。在强制类型转换要注意的是malloc()函数申请得到的空间是无类型的空间,必须强制转换成对应指针可这指向的空间的类型, 这里定义的是int *p 所以p指针只能指向int型空间sizeof(int) 求得int类型所占的字节数malloc(sizeof(int)) 申请一个跟int所占的空间大小一样的空间(int*)malloc(sizeof(int)) 将申请得到的空间地址转换成了int类型空间地址最后就可以赋值给指向int型空间的p指针了。
切记!malloc以后记得要 free ();不燃就会导致内存的浪费。


int* p;   p = (int *) malloc (sizeof(int)*100); 分配了100个int的空间
int* p;   p = (int *) malloc (sizeof(int));分配了 1个int 空间。
这两个是:一个是分配4个字节,一个是分配4*100个字节。

就在这一刻,你的对手依旧不停的翻动书页。
2014-10-21 22:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
联系上下文

DO IT YOURSELF !
2014-10-22 10:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用embed_xuel在2014-10-21 11:55:10的发言:

这还叫自学?相当于没学过

其实问题挺好,不是书上说怎样就模仿,而是求原理解释。照书搬,很多人都会写,不过要问他那是怎么理解都不同了,看上面各种各样的解释即知。

授人以渔,不授人以鱼。
2014-10-22 13:19
chenziguo
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2013-10-25
收藏
得分:0 
非常感谢各位,经过几个练习操作我以基本掌握malloc函数了。
2014-10-22 21:47
快速回复:关于 malloc 函数问题
数据加载中...
 
   



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

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