1、函数声明
void*malloc(intsize );
说明: malloc向系统申请分配大小字节的内存空间,返回类型为void*型。
2、使用
int *p;
p=(int* ) malloc ) sizeof (int );
注意:
)1) malloc返回不确定类型的指针,所以在返回之前必须接受类型的强制转换。 否则,会发生“无法将void*代入int*变量”等编译错误。
) malloc即使只分配存储器,也不初始化,并且存储器空间的值可能是随机的。 如果分配的此空间本来就不使用,则每个值都可能为0。 相反,空间中可能会留下各种各样的值。
(3)实参是应该分配的字节大小。 对于malloc(1),系统只分配一个字节的存储器空间。 请注意,如果在此空间中存储一个int值,则由于int类型为4字节,因此仍有3字节的未分配空间。 系统根据已经分配的1字节,依次向后方分配3字节的空间,这占用了“他人”
)如果不再使用分配的空间,用free函数释放此内存空间。
3、范例
分配100个int类型的空间:
int *p;
p=(int ) malloc ) sizeof (int ) 100;
打开100个int单元,即400字节。
然后p指的是第一个要素。重点内容