<分区>
Possible Duplicate:
Do I cast the result of malloc?
刚刚学会了malloc函数的使用,老师提到在将内存地址传递给指针时需要进行类型转换。例如,这是使用 malloc 分配 16 个新字节(4 个整数)的代码:
#include <stdlib.h>
int main(){
int *p;
p = (int *)malloc(4*sizeof(int));
return 0;
}
我的问题:属性右侧的 (int *) 强制转换是否必要?毕竟 p 已经是一个指向 int 的指针,所以即使没有强制转换,指针算法也应该可以正常工作。
谢谢