stdlib.h 是C语言标准库中的一个头文件,它提供了C语言程序中常用的函数,这些函数涵盖了基本的内存分配、数学计算、字符串处理等功能。下面就介绍一些常用的函数,以及如何使用它们。
1. malloc 函数
malloc 函数是C语言标准库中提供的一个动态内存分配函数,它的原型为:
void *malloc(size_t size);
malloc 函数接受一个参数 size,表示需要分配的内存空间的大小,单位为字节;返回值是一个 void * 类型的指针,表示分配成功后的首地址。
下面是一个使用 malloc 函数分配内存空间的示例:
int *p = (int *)malloc(sizeof(int) * 10);
上面的代码中,我们使用 malloc 函数分配了 10 个 int 类型变量所需要的内存空间,并将分配的内存首地址赋值给了 int * 类型的指针变量 p。
2. calloc 函数
calloc 函数也是C语言标准库中提供的一个动态内存分配函数,它的原型为:
void *calloc(size_t num, size_t size);
calloc 函数接受两个参数,num 表示需要分配的变量个数,size 表示每个变量所需要的内存空间的大小,单位为字节;返回值是一个 void * 类型的指针,表示分配成功后的首地址。
下面是一个使用 calloc 函数分配内存空间的示例:
int *p = (int *)calloc(10, sizeof(int));
上面的代码中,我们使用 calloc 函数分配了 10 个 int 类型变量所需要的内存空间,并将分配的内存首地址赋值给了 int * 类型的指针变量 p。
3. free 函数
free 函数是C语言标准库中提供的一个动态内存释放函数,它的原型为:
void free(void *p);
free 函数接受一个参数 p,表示要释放的内存的首地址;返回值为 void 类型,表示无返回值。
下面是一个使用 free 函数释放内存空间的示例:
free(p);
上面的代码中,我们使用 free 函数释放了 int * 类型指针变量 p 所指向的内存空间。
4. memcpy 函数
memcpy 函数是C语言标准库中提供的一个内存复制函数,它的原型为:
void *memcpy(void *dest, const void *src, size_t n);
memcpy 函数接受三个参数,dest 表示复制到的目标内存的首地址,src 表示要复制的源内存的首地址,n 表示要复制的字节数;返回值是一个 void * 类型的指针,表示复制成功后的目标内存的首地址。
下面是一个使用 memcpy 函数复制内存空间的示例:
memcpy(p, q, sizeof(int) * 10);
上面的代码中,我们使用 memcpy 函数从 int * 类型指针变量 q 所指向的内存空间复制 10 个 int 类型变量,并将复制的内容复制到 int * 类型指针变量 p 所指向的内存空间中。
5. memset 函数
memset 函数是C语言标准库中提供的一个内存填充