C语言 库函数 malloc()

C语言 标准库 <stdlib.h>C语言 标准库 <stdlib.h>

C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。

 

1. 声明

下面是 malloc() 函数的声明。

void *malloc(size_t size)

 

2. 参数

  • size -- 内存块的大小,以字节为单位。

 

3. 返回值

该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返回 NULL。

 

4. 实例

下面的实例演示了 malloc() 函数的用法。

#include <stdio.h>
#include <stdlib.h>

int main()
{
   char *str;

   /* 最初的内存分配 */
   str = (char *) malloc(15);
   strcpy(str, "codebaoku");
   printf("String = %s,  Address = %u\n", str, str);

   /* 重新分配内存 */
   str = (char *) realloc(str, 25);
   strcat(str, ".cn");
   printf("String = %s,  Address = %u\n", str, str);

   free(str);
   
   return(0);
}

让我们编译并运行上面的程序,这将产生以下结果:

String = codebaoku, Address = 355090448
String = codebaoku.cn, Address = 355090448

C语言 标准库 <stdlib.h>C语言 标准库 <stdlib.h>

C语言 库函数 realloc():C 库函数 void *realloc(void *ptr, size_t size) 尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。1. 声明;void *realloc(void *ptr, size_t size)。3. 返回值:该函数返回一个指针 ,指向重新分配大小的内存。如果请求失败,则返回 NULL。