分配内存malloc和free()

本文介绍了C语言中动态内存分配的重要函数malloc()和free()。malloc()用于在运行时根据需要分配内存,返回内存块的首地址,而free()则用于释放由malloc()分配的内存,确保内存的有效管理。文中详细阐述了如何使用malloc()创建数组,以及三种创建数组的方法,并强调了正确使用free()避免内存泄漏的重要性。
摘要由CSDN通过智能技术生成

所有的程序都必须留出足够的内存来存储它们使用的数据。一些内存分配是自动完成的。在运行时需要分配更多的内存。主要的工具是函数malloc(),它接受一个参数:所需要内存字节数。然后malloc找到可用内存中一个大小合适的块。内存是匿名的;也就是说,malloc()分配了内存,但没有为它指定名字。然而,它却可以返回那块内存第一个字节的地址。因此,可以把那个地址赋值给一个指针变量,并使用该指针来访问那块内存。

char place[] = "Dancing Oxen Creek";
因为char代表一个字节,所以传统上曾将malloc定义为指向char的指针类型。

在ANSI C标准使用中使用了一个新的类型:指向void的指针。这一类型被用作“通用指针”。函数malloc()可用来返回数组指针、结构指针等等,因此一般需要把返回值的类型指派为适当的类型。在ANSI C中,为了程序清晰应对指针进行类型指派,但将void指针值赋值给其他类型的指针并不构成类型冲突。如果malloc()找不到所需要的空间,他将返回空指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道亦无名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值