编写一个函数createIntArray,接受一个整数n,动态分配一个包含n个整数的数组, 并返回该数组的指针。
时间: 2024-09-27 19:02:48 浏览: 75
c语言基础-c语言编程基础之数组操作示例-两个数组的交集.zip
在C++语言中,你可以编写如下的函数`createIntArray`来动态分配一个包含`n`个整数的数组:
```cpp
#include <iostream>
int** createIntArray(int n) {
int* newArray = new int[n]; // 动态分配一个长度为n的一维整数数组
int** arrayPtr = new int*[n]; // 再动态分配一个指向整数的指针数组
for (int i = 0; i < n; ++i) {
arrayPtr[i] = newArray + i; // 将每个元素的地址存储在指针数组中
}
return arrayPtr; // 返回指向数组的指针
}
// 使用完后别忘了释放内存
void freeIntArray(int** arrayPtr, int n) {
delete[] arrayPtr;
for (int i = 0; i < n; ++i)
delete [] arrayPtr[i];
}
int main() {
int n = 5;
int** ptrArray = createIntArray(n);
// ... 对ptrArray进行操作 ...
freeIntArray(ptrArray, n);
return 0;
}
```
在这个例子中,`createIntArray`函数首先创建了一个大小为`n`的单个连续内存块,然后创建了一个指向这个内存块的指针数组`arrayPtr`。这样做的目的是为了方便访问每个元素。
请注意,当你不再需要这个数组时,记得调用`freeIntArray`函数来释放分配的内存,防止内存泄漏。
阅读全文