关于malloc()的一个有关问题
关于malloc()的一个问题。本帖最后由 hyp41226 于 2013-12-17 20:59:56 编辑struct flex{int countdouble
关于malloc()的一个问题。
本帖最后由 hyp41226 于 2013-12-17 20:59:56 编辑
struct flex
{
int count;
double average;
double scores[]; //伸缩型数组成员
};
void showFlex(const struct flex * p);
int main(void)
{
struct flex * pf1, *pf2;
int n = 5;
int i;
int tot = 0;
//为结构和数组分配存储空间
pf1 = malloc(sizeof(struct flex ) + n * sizeof(double));
我记得malloc加面都要用类型指派啊?(什么时候必须指派???)如果这段要指派类型应该用什么类型?(struct flex *)??????
[解决办法]malloc返回的是void类型指针 使用的时候最好强制转换一下
这什么东东啊 CSS?
[解决办法]void*型,转成什么都可以
[解决办法]因为起初C中没有void*类型,malloc返回的是char*类型,所以要求必须强制转换
但是自void*加入以后,可以不转换,也可以转换
不过有两点
1.C中可以不转换,可以编译通过
2.C++中必须强制转换,否则不能通过编译