---
title: AllocScalar
description: "申请一个aclScalar对象，并对其赋值。通过多个重载函数，用于支持多种数据类型。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/aolapi/atlasascendc_api_07_1127.html
sourcePath: /source/zh/canncommercial/900/API/aolapi/atlasascendc_api_07_1127.html
indexId: e4c4bff57a301f299832aa3ae5a1b6c63a710f3eca26a7f5f1ae39d84993b7bf70
---
# AllocScalar

#### 功能说明

申请一个aclScalar对象，并对其赋值。通过多个重载函数，用于支持多种数据类型。


#### 函数原型

```
aclScalar *AllocScalar(const void *data, op::DataType dataType)
```

```
aclScalar *AllocScalar(float value)
```

```
aclScalar *AllocScalar(double value)
```

```
aclScalar *AllocScalar(fp16_t value)
```

```
aclScalar *AllocScalar(bfloat16 value)
```

```
aclScalar *AllocScalar(int32_t value)
```

```
aclScalar *AllocScalar(int64_t value)
```

```
aclScalar *AllocScalar(int16_t value)
```

```
aclScalar *AllocScalar(int8_t value)
```

```
aclScalar *AllocScalar(uint32_t value)
```

```
aclScalar *AllocScalar(uint64_t value)
```

```
aclScalar *AllocScalar(uint16_t value)
```

```
aclScalar *AllocScalar(uint8_t value)
```

```
aclScalar *AllocScalar(bool value)
```


#### 参数说明

| 参数 | 输入/输出 | 说明 |
| --- | --- | --- |
| data | 输入 | 源数据指针。 |
| dataType | 输入 | 源数据的数据类型。 |
| value | 输入 | 将aclScalar的内容指定为value。 |


#### 返回值说明

申请到的aclScalar对象，申请失败返回nullptr。


#### 约束说明

入参指针不能为空。


#### 调用示例

```
// 初始化一个值为5，数据类型为int64的aclScalar对象
void Func(aclOpExecutor *executor) {
    int64_t val = 5;
    aclScalar *scalar = executor->AllocScalar(val);
    scalar = executor->AllocScalar(&val, DT_INT64);
}
```
