谁能帮忙解释一下这两个函数?

来源:百度知道 编辑:UC知道 时间:2024/06/09 13:18:01
malloc()
calloc()
是做什么用的,怎么用,谢谢~~

原型:extern void *malloc(unsigned int num_bytes);

用法:#include <alloc.h>

功能:分配长度为num_bytes字节的内存块

说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。
当内存不再使用时,应使用free()函数将内存块释放。

举例:

// malloc.c

#include <syslib.h>
#include <alloc.h>

main()
{
char *p;

clrscr(); // clear screen

p=(char *)malloc(100);
if(p)
printf("Memory Allocated at: %x",p);
else
printf("Not Enough Memory!\n");

free(p);

getchar();
return 0;
}

函数名: calloc
功 能: 分配主存储器
用 法: void *calloc(size_t nelem, size_t elsize);
程序例:

#include <stdio.h>
#include <alloc.h>

int main(void)
{
char *str = NULL;

/* allocate memory for string */
str = calloc(10, sizeof(char));

/* copy "Hello" int