QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 957|回复: 2

有关malloc的用法!

[复制链接]
发表于 2004-11-9 14:48:13 | 显示全部楼层 |阅读模式
有关malloc,,,,realloc,,,,,calloc,,,free的用法可以用man -S 3 malloc来查阅
不过我不是太清楚!

SYNOPSIS
       #include <stdlib.h>

       void *calloc(size_t nmemb, size_t size);
       void *malloc(size_t size);
       void free(void *ptr);
       void *realloc(void *ptr, size_t size);

DESCRIPTION
       calloc()  allocates memory for an array of nmemb elements of size bytes
       each and returns a pointer to the allocated memory.  The memory is  set
       to zero.

       malloc()  allocates(分配)  size  bytes and returns a pointer(一个指针) to
the allocated memory(分配了的内存).  The memory is not cleared(不会被清除).

       free() frees the memory space pointed to by ptr, which must  have  been
       returned by a previous call to malloc(), calloc() or realloc().  Other-
       wise, or  if  free(ptr)  has  already  been  called  before,  undefined
       behaviour occurs.  If ptr is NULL, no operation is performed.

       realloc()  changes  the  size  of the memory block(内存块) pointed to by ptr to
       size bytes.  The contents(内容) will be unchanged to the minimum(最少的) of  the  old
       and new sizes; newly(重新地) allocated memory will be uninitialized(末初始化).  If ptr is
       NULL, the call is equivalent(当量) to malloc(size); if size is equal(使..相等) to zero,the  call is equivalent to free(ptr).  Unless ptr is NULL, it must have
       been returned by an earlier call to malloc(), calloc() or realloc().

RETURN VALUE
       For calloc() and malloc(), the value(值) returned is a pointer to the allo-
       cated  memory(分配了的内存),  which  is suitably aligned for any kind of variable(变量), or
       NULL if the request(请求) fails.

       free() returns no value.

       realloc() returns a pointer to the newly(重新)  allocated  memory,  which  is
       suitably(合适地)  aligned(调整)  for  any  kind of variable and may be different from
       ptr, or NULL if the request fails. If size was equal(使..相等) to 0, either  NULL
       or a pointer suitable to be passed to free() is returned.  If realloc()
       fails the original block is left untouched - it is not freed or  moved.
发表于 2004-11-9 16:11:18 | 显示全部楼层
你想问什么?
回复

使用道具 举报

 楼主| 发表于 2004-11-9 18:03:47 | 显示全部楼层
   而家知了!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 03:32 , Processed in 0.036272 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表