C语言内存管理-malloc, free, memset, memcpy, memmove

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1. malloc和free

库函数"stdlib .h"为malloc()和free()提供原型

1.1 malloc()函数

malloc()的主要作用是:分配所需的内存空间,并返回一个指向该内存空间的指针。malloc()接受一个参数:所需内存的字节数。malloc()会找到合适的内存块,并返回动态分配内存块的首字节地址,如果分配内存失败将返回空指针。malloc()函数用于返回指向数组的指针、指向结构的指针等,所以通常该函数的返回值会被强制转换为匹配的类型。
例如:

double * ptd;
ptd = (double * )malloc(30 * sizeof(double));
1.2 free()函数

通常,maloc()和free()函数配套使用。free()函数的参数是之前malloc()返回的地址,该函数释放之前malloc()分配的内存。
例如:

free(ptd);

2. memset, memcpy, memmove

memcpy、memset、memmove函数在头文件"string.h"中。

2.1 memset()函数

memset 函数是内存赋值函数,用来对某一块内存空间进行赋值。
函数声明为 :

void *memset(void *str, int c, size_t n);

str指向某一块内存空间的指针;
c为填充的值;
n为填充的字节数;
返回值为指向s的指针。
例如:

#include <stdio.h>
#include <string.h>
int main ()
{
   
   
   char str[

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值