内存分配函数

标准c语言库中的malloc可分配内存:

#include <stdlib.h>

void *malloc(size_t size)

其中void表示未确定类型的指针,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者...)

所以,通常在使用时根据申明的指针类型再对malloc返回指针强制类型转换,如下:

#define A_MEGABYTE (1024*1024)

char *some_memory;

int megabyte = A_MEGABYTE;

some_memory = (char *)malloc(megabyte);

#include <stdlib.h>

void free (void *ptr_to memory)

#include <stdlib>

void *calloc (size_t number_of_elements, size_t element_size);

为结构数组分配内存,因此需要把元素个数和每个元素的大小作为其参数,成功则返回只想数组中第一个元素的指针

#include <stdlib>

void *realloc (void *existing_memory, size_t new_size);

改变先前已经分配的内存块的长度

原文地址:https://www.cnblogs.com/cj2014/p/3734124.html