stdlib.h常用函数

1.预处理标识符 ‘’ # ‘’

作用:编译前执行的处理 ,就是将头文件中的函数声明及函数代码完全拷贝到当前的程序代码中
不需要人为再写入。方便之处还有将自己写的函数放在一个新建".h"文件中,来使用。

2 .<stdlib.h>的函数

在这里插入图片描述

  • alloca() : 向栈申请内存,无需释放
  • malloc() : 申请内存位于堆中,没有初始化内存的内容,所以不能保证申请空间里没有内容
    语法:

malloc (申请元素的个数 * 元素单位长度)
eg : int * p;
p = (int*)malloc(10*sizeof(int)); // 指针变量p,指向一个长度为10的动态数组的首地址

malloc函数的返回类型是( void * ), ( void * )是未确定类型的指针,所以根据申请空间的类型需要强制转换指针类型,

  • calloc() : 初始化申请的内容,设为 0
    语法 :

calloc (申请元素的个数,元素单位长度)
eg : int *P;
P = (int * ) calloc(10 , sizeof(int)) ;

  • realloc() : 对malloc() 申请内存进行调整大小
    语法 :

realloc(malloc申请空间的首地址 , 新长度)
eg : int * p;
p = (int*)malloc(10sizeof(int));
p = (int
)realloc(p,20*sizeof(int));

在堆上分配内存, 扩大内存空间,堆上现存空间足够,原首地址不变 ; 内存空间不够,重新申请一块空间,将当前数据拷贝过去,释放原来空间,重新赋予了新的首地址。

注 : 使用realloc() ,重新给旧地址的指针赋值
  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值