假设要申请一个大小为16字节、用于存储整型数据的空间,则公式如下:　int*　s=(int*)　malloc　(16);　当为一组变量申请空间时,常用到sizeof运算符,该运算符常用于求变量或数据类型在中所占的字节数。在调用malloc()等函数时使用sizeof运算符,可以在已知数据类型和数据数量的前提下方便地传入需要开辟空间的大小。假设为一个包含8个int型数据的数组申请存储空间,其方法如下所示:　int*　arr=　(int*)　malloc　(sizeof　(int)　*8);　(2)　calloc()函数　calloc()函数与malloc()函数基本相同,执行完毕后都会返回一个void*型的指针,只是在传值的时候需要多传入一个数据。其函数原型如下:　void*　calloc(unsigned　int　count,unsigned　int　size);　calloc()函数的作用比malloc()函数更为全面。　经calloc()函数申请得到的空间是已被初始化的空间,其中数据全都为0,而malloc()函数申请的空间未被初始化,存储单元中存储的数据不可知　。另外calloc()在申请数组空间时非常方便,它可以通过参数size设置为数组元素的空间大小,通过参数将count设置为数组的容量。　(3)　realloc()函数　realloc()函数的函数原型如下:　void*　realloc　(voia*　memory,　unsignea　int　newsize);　realloc()函数的参数列表包含两个参数,参数memory为指向堆空间的指针,参数newSize为新内存空间的大小,realloc()函数的实质是使指针memory指向存储空间的大小变为newSize.　如果memory原本指向的空间大小小于newSize,则系统将试图合并memory与其后的空间,著能满足需求,则指针指向不变;如果不能满足,则系统重新为memory分配一块大小为newsize的空间。　如果memory原本指向的空间大小大于或等于newsize,将会造成数据丢失　。　内存回收　需要注意的是,　使用malloc()函数、calloc()函数、realloc()函数申请到的空间都为堆空间,程序结束之后,系统不会将其自动释放,需要由程序员自主管理　。