C 语言标准库函数 - malloc()
C 语言标准库 <stdlib.h> 函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针
头文件
#include <stdlib.h>
函数声明
下面是 malloc() 函数的声明
void *malloc(size_t size)
参数
- size : 内存块的大小,以字节为单位
返回值
该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返回 NULL
范例
下面的范例演示了 malloc() 函数的用法
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char *str; /* 最初的内存分配 */ str = (char *) malloc(15); strcpy(str, "简单教程"); printf("String = %s, Address = %u\n", str, (int)&str); /* 重新分配内存 */ str = (char *) realloc(str, 25); strcat(str, ".com"); printf("String = %s, Address = %u\n", str, (int)&str); free(str); return(0); }
编译运行范例,输出结果如下
$ gcc main.c && ./a.out String = 简单教程, Address = 1363596000 String = 简单教程.com, Address = 1363596000