---
title: Malloc
description: "内存分配函数，通过给MemoryData结构体type赋值，确定内存是Host、Device或者DVPP。通过MemoryData中size，指定内存大小。通过MemoryData中deviceId，指定Device内存ID。并且申请的内存，在销毁时，需要用户自行搭配函数Free进行销毁。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/msadg/mxvisionug_0275.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/msadg/mxvisionug_0275.html
indexId: a5907086284ee73f805154e140cdab1b2045e8dd430a6389d0a2dc27798c5c8f102
---
# Malloc

#### 函数功能

内存分配函数，通过给MemoryData结构体type赋值，确定内存是Host、Device或者DVPP。通过MemoryData中size，指定内存大小。通过MemoryData中deviceId，指定Device内存ID。并且申请的内存，在销毁时，需要用户自行搭配函数Free进行销毁。


#### 函数原型

```
static APP_ERROR Malloc(MemoryData& data);
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| data | 输入 | 待分配的内存数据。其输入是内存的类型和大小，分别赋值到data.type , data.size，输出是分配的内存指针，赋值到data.ptrData。 “data.size”取值范围为[1, 4294967296]。 |


#### 返回参数说明

| 数据结构 | 说明 |
| --- | --- |
| APP\_ERROR | 程序执行返回的错误码，请参考APP\_ERROR说明。 |
