C语言 ANSI-C内存管理API函数整理

1.malloc/free
malloc 用来在堆中申请内存空间
extern void * malloc (size_t __size);
extern void free(void*__ptr);
2.realloc更改已经配置的内存空间
extern void *realloc(void *__ptr,size_t __size);
第一个参数为试图更改大小的原堆空间位置,
第二个参数为新的内存大小
3.calloc函数
calloc函数是malloc 函数的简单包装,它把动态分配的内存空间初始化为零
ptr=(struct data*)calloc(count ,sizeof(struct data));
4.alloca分配内存空间
alloca函数用来在栈中分配size个字节的内存空间,因此函数返回时会自动释放掉改空间
extern void *alloca(size_t __size)__THROW;
5.memcpy()
extern void* memcpy(void* __restrict __dest,__const void* __restrict __src,size_t __n);
函数将n个字节从src所指向的位置拷贝到dest所指向的位置。
6.memmove
extern void* memmove(void* _dest,_const void *_src,size_t _n);
函数功能也是将n个字节从src所指向的位置拷贝到dest所指向的空间,只是memmove函数在拷贝之前,会先检查源地址和目标地址是否有重叠的地方,如果有,则先进行处理在拷贝,如果没有,则直接拷贝。
7.memset();
extern void * memset(void *__s,int _c,size_t __n)__THROW __nonnull((1));
此函数将设置自s开始后面n位的值为c,如果执行成功,返回s的首地址。
8,memchr()
extern void* memchr(_const void *_s,int _c,size_t _n);
memchr()函数将在一段内存空间中检查某个字符位置第一次出现的位置。
9,memcmp()
extern int memcmp(_const void *_s1,_const void *_s2,size_t _n);
此函数比较内存单元s1和s2起始位置的前n个字节是否相等,如果相等,返回0,如果s1<s2,放回-1,如果s1>s2,则返回1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值