第一范文网 - 专业文章范例文档资料分享平台

c语言学习7 - 图文

来源:用户分享 时间:2025/5/18 6:50:31 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

297.4.3 动态内存分配与释放函数在处理实际问题时,常会遇到数组的大小要在程序执行中才能确定的情况,合理的方法是在程序中再决定数组的大小。C语言提供了动态存储分配函数,可在程序运行过程中,动态分配内存区供数据存储,可根据需要指定大小,以及不需时予以释放。下面介绍动态存储分配函数中的malloc()和free(),在stdlib.h和alloc.h头文件中均含有它们的原型。30? 内存分配函数malloc()原型:void * malloc(unsigned size);功能:内存中分配一块连续的size个字节的未初始化的存储区。返回一指向该区首址的void *类型(称通用型或无类型)指针,须按实际需要的数据类型进行强制转换,才能赋值给相应的指针变量。如无法分配,则返回空指针。? 内存释放函数free()原型:void * free(void *buffer);功能:释放buffer所指向的由malloc()等内存分配函数所分配的内存块。31【例7.7】输入n和n个整数,输出其中不重复出现的整数,要求:只要内存容量许可,不对n的上限做明显的限定。#include main(){ int *p, n, i, j, ct;scanf( \p = (int *)malloc( n*sizeof(int) );if ( p == NULL ){ printf( \return -1;}32for ( i = 0; i < n; i++ )scanf( \for ( i = 0; i < n; i++ ){ for (ct = 0, j = 0; j < n; j++ )if ( p[i] == p[j] )ct++;if ( ct == 1 )printf( \}free( p );运行结果:printf( \输入:8 11 33 5 11 5 5 44 100}输出:33 44 100

搜索更多关于: c语言学习7 - 图文 的文档
c语言学习7 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c29wcf94u0877t6k14cll_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top