学校排行榜

(0)

投一票

C语言基础之动态内存分配(附代码演示) 官网

简介 C语言中的动态内存分配需要用到malloc和free两个函数。 malloc和free 动态分配内存可以在程序运行的时候决定需要分配多少个存储区,为了使用动态分配内存需要使用一组标准函数malloc和free,为了使用这些标准函数需要包含stdlib.h头文件。 malloc函数: #include stdlib.h void *malloc(int size);//函数原型 1、malloc函数可以动态分配一组连续的字节; 2、这个函数需要一个整数类型的参数表示分配的字节个数; 3、它的返回值表示分配好的第一个字节的地址,如果函数执行失败则返回NULL,返回值被存放在一个无类型指针类型存储区里,必须首先转换成有类型指针然后才能使用; 4、当不再使用分配内存时必须把他们释放掉; free函数: #include stdlib.h void free(void*ptr);//函数原型 1、free函数可以用来释放动态分配的内存, 2、free函数需要第一个字节的地址,作为参数一起分配的内存必须一起释放; 3、如果使用指针作为参数调用free函数,则函数结束的时候指针成为野指针,必须恢复成空指针; 演示代码1: 该段代码主要是掩演示了如何使用malloc函数动态分配内存,然后用申请到的内存存储数据,使用完之后及时的销毁动态分配的内存,避免内存泄漏。 测试结果如下: 演示代码2: 测试结果: 根据测试结果可以看出,每次执行代码都会产生不同的随机数。 演示代码3: 测试结果: 该代码演示了,函数内部分配内存,函数外部及时释放内存的使用方法。 注意:一般malloc函数和free函数都是成对出现的,一定要及时的使用free函数将malloc申请出来的内存释放掉,但是也要注意不能多次释放。
专业
评论
新闻
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。