标题:TC中使用malloc和calloc需要进行强制类型转换么?
只看楼主
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
结帖率:100%
 问题点数:0 回复次数:4 
TC中使用malloc和calloc需要进行强制类型转换么?
??????
搜索更多相关主题的帖子: 类型转换 
2011-03-01 21:18
huangapple
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:545
专家分:1790
注 册:2010-12-30
得分:0 
tc据说不用,但建议楼主转换!

勤能补拙,熟能生巧!
2011-03-01 21:19
追寻、梦想
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2011-2-18
得分:0 
需要吧,malloc的函数原型为:void *malloc(unsigned size)用的时候要把它强制转换成所需要的数据类型的指针,calloc和realloc和malloc相同……
2011-03-02 08:07
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
C语言规定,void*类型 可以转化为任意指针类型
C++规定,0值 可以转化为任意指针类型

所以在C中,类似于 int* p = malloc 等,前面不应该加强制转化,加了则冗余
2011-03-02 08:29
犬虫门心
Rank: 8Rank: 8
来 自:西安
等 级:蝙蝠侠
帖 子:209
专家分:753
注 册:2011-1-25
得分:0 
3楼正解。
指针类型的运算(包括赋值),应保证指针类型(尤其是指针所指向的类型)必须一致。
虽然不进行转换编译时可能不出现错误或者警告,但这不是一种使用指针的良好习惯。
古话说:不以恶小而为之、不以善小而不为。
养成良好的编程素养,有百利而无一害。
所以还是加上强制类型转换吧。

当一名对得起学生学费的老师,一直是我的目标!我会更努力的!
2011-03-02 11:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-332998-1-1.html




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

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