用C语言编写一个函数 createIntArray ,接受一个整数 n ,动态分配一个包含 n 个 整数的数组,并返回该数组的指针
时间: 2024-10-22 16:07:47 浏览: 21
在C语言中,你可以使用`malloc()`函数动态分配内存来创建一个可以存储n个整数的数组。以下是一个简单的createIntArray函数的例子:
```c
#include <stdlib.h> // 包含malloc和free函数
// 函数声明
int* createIntArray(int n);
// 创建数组的实现
int* createIntArray(int n) {
// 检查输入是否合法
if (n <= 0) {
printf("Invalid input: n must be a positive integer.\n");
return NULL;
}
// 动态分配内存
int* arr = (int*) malloc(n * sizeof(int)); // sizeof(int)表示一个整数占用的空间大小
// 如果内存分配失败,释放已分配内存并返回NULL
if (arr == NULL) {
perror("Memory allocation failed.");
free(arr); // 如果指针不为NULL,则需要调用free释放内存
return NULL;
}
// 返回指向新数组的指针
return arr;
}
// 使用示例
int main() {
int n = 5;
int* array = createIntArray(n);
if (array != NULL) {
// 现在可以对数组进行操作...
for (int i = 0; i < n; i++) {
array[i] = i * 2; // 示例赋值操作
}
// 使用完记得释放内存
free(array);
}
return 0;
}
```
阅读全文