现有如下定义:struct aa{int a;float b;char c;}*p;现需用malloc函数动态的申请一个struct aa类型大小的空间(由p指向),则定义的语句为:【 】。

admin2009-02-15  30

问题 现有如下定义:struct aa{int a;float b;char c;}*p;现需用malloc函数动态的申请一个struct aa类型大小的空间(由p指向),则定义的语句为:【  】。

选项

答案p=(struct aa *)malloc(sizeof(struct aa));

解析 ANSI C标准规定malloc函数的返回值类型为void*,函数的调用形式为:malloc(size)要求size的类型为unsigned int。由于返回类型为void*,所以在调用函数时,必须利用强制转换将其转换为所需要的类型。
转载请注明原文地址:https://jikaoti.com/ti/UzK0FFFM
0

最新回复(0)