内存的分配除了用malloc()函数外,还可以使用calloc()函数。
例如:
long *newname;
newname=(lonh*)calloc(100,sizeof(long));
与malloc()函数类似,calloc() 函数返回一个指针。如果存储不同类型,应该使用类型指派运算符。
calloc()函数接受两个参数,都应是无符号整数。第一个参数是所需内存单元的数量,第二个参数是每个单元以字节计的大小。在上面这个例子中,long使用4个字节,因此这一指令建立了100个4字节单元,总共使用400个字节来存储。
使用sizeof(long)而不是4,使得代码更易移植。因为当移植到其他系统运行时,有可能那些系统的long不是4个字节,而是别的大小。
calloc()函数还有一个特性:它将块中的全部位都置为0。
函数free()也可以用来释放由calloc()分配的内存。