单选题
如何创建一个动态数组?
A
int* arr = new int[10];
B
int arr = new int[10];
C
int arr[10] = new int;
D
int* arr[10] = new int;
答案解析
正确答案:A
解析:
好的,让我们来详细解析这道题。
### 题目:如何创建一个动态数组?
#### 选项分析:
**A. `int* arr = new int[10];`**
- **解释**:这是正确的创建动态数组的方法。`new int[10]` 在堆上分配了一个包含 10 个整数的数组,并返回指向该数组第一个元素的指针。`int* arr` 声明了一个指向整数的指针,将这个指针赋值为 `new int[10]` 返回的地址,从而实现了动态数组的创建。
- **示例**:
```cpp
int* arr = new int[10];
for (int i = 0; i < 10; i++) {
arr[i] = i * 2; // 初始化数组
}
```
**B. `int arr = new int[10];`**
- **解释**:这是错误的。`int arr` 声明了一个整数变量,而不是一个指针。`new int[10]` 返回的是一个指针,不能直接赋值给一个整数变量。
- **示例**:
```cpp
int arr = new int[10]; // 错误:类型不匹配
```
**C. `int arr[10] = new int;`**
- **解释**:这是错误的。`int arr[10]` 声明了一个固定大小的静态数组,而不是一个指针。`new int` 分配了一个单个整数的内存并返回一个指针,不能直接赋值给一个静态数组。
- **示例**:
```cpp
int arr[10] = new int; // 错误:类型不匹配
```
**D. `int* arr[10] = new int;`**
- **解释**:这是错误的。`int* arr[10]` 声明了一个包含 10 个指针的数组,而不是一个指向数组的指针。`new int` 分配了一个单个整数的内存并返回一个指针,不能直接赋值给一个指针数组。
- **示例**:
```cpp
int* arr[10] = new int; // 错误:类型不匹配
```
### 为什么选择 A 作为正确答案?
- **A. `int* arr = new int[10];`** 是唯一一个正确地创建了动态数组的选项。它使用 `new` 关键字在堆上分配了一个包含 10 个整数的数组,并将返回的指针赋值给 `int* arr`,从而实现了动态数组的创建。
希望这些解释和示例能帮助你更好地理解这道题。如果你有任何其他问题或需要进一步的解释,请随时告诉我!
相关题目
单选题
爱岗敬业作为职业道德的重要内容,是指员工热爱自己喜欢的岗位。( )
单选题
转向灯属于转向系统的组成部分( )
单选题
轮胎的异常磨损通常是由轮胎气压不足引起的。( )
单选题
轮胎出现胎面中部严重磨损、胎纹磨光时可继续使用( )
单选题
轮胎花纹深度低于磨损极限标志时,必须更换( )
单选题
轮胎花纹具备缓冲性能,能承受和缓和路面的冲击和振动( )
单选题
为了使车轮磨损均匀,车辆应该定期进行轮胎换位。( )
单选题
进行轮胎换位的目的是提升车身高度。( )
单选题
胎冠也称为行驶面,它与路面直接接触,直接承受冲击与摩擦,并保护胎体免受机械损伤。( )
单选题
胎面是轮胎的外表面,可分为胎冠、胎肩和胎侧三部分。( )
