C语言申请内存

#include <stdlib.h>

使用malloc()函数可以获得一块内存缓冲区。当程序不再使用这块缓冲区时,可以调用free()函数,释放相应的内存,将其返还给堆。

// 申请内存空间,在堆上。

int *p = malloc(100 * sizeof(int));

// 使用这块内存

......

// 释放内存空间

free(p);

p = NULL;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 C 语言中,申请内存可以使用两个主要的函数:`malloc()` 和 `calloc()`。 `malloc()` 函数用于申请指定字节大小的内存空间,返回一个指向该内存空间的指针。它的函数型为: ```c void* malloc(size_t size); ``` 其中 `size` 参数表示需要申请内存空间大小(以字节为单位)。例如,如果需要申请一个大小为 100 字节的内存空间,可以这样写: ```c int* ptr = (int*) malloc(100); ``` 上述代码中,`malloc()` 函数返回一个 `void*` 类型的指针,需要进行类型转换才能得到 `int*` 类型的指针。如果申请成功,`ptr` 指向一个大小为 100 字节的连续内存空间。 `calloc()` 函数也用于申请内存空间,与 `malloc()` 不同的是,它会在申请内存空间的同时将该内存空间中的所有位都初始化为 0。`calloc()` 函数的函数型为: ```c void* calloc(size_t num, size_t size); ``` 其中 `num` 参数表示需要申请内存块数,`size` 参数表示每个内存块的大小(以字节为单位)。例如,如果需要申请 10 个大小为 4 字节的内存块,可以这样写: ```c int* ptr = (int*) calloc(10, sizeof(int)); ``` 上述代码中,`calloc()` 函数返回一个指向大小为 `10 * sizeof(int)` 字节的内存空间的指针,其中每个 4 字节大小的内存块都被初始化为 0。 无论是使用 `malloc()` 还是 `calloc()`,在使用完申请内存空间后,需要使用 `free()` 函数将其释放,以便操作系统回收该内存空间。例如,释放上述申请内存空间,可以这样写: ```c free(ptr); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值