C语言一个函数有参数n,如何在这个函数创建大小为n的数组
时间: 2024-10-19 22:09:21 浏览: 32
在C语言中,如果你想要创建一个函数,该函数接收一个参数n并基于这个参数动态创建一个大小为n的数组,可以使用下面的示例:
```c
#include <stdlib.h> // 引入malloc函数用于动态内存分配
// 函数声明,接收一个整数参数n
int* create_array(int n);
int main() {
int size = 5; // 或者由用户输入或其他方式获取
int* array = create_array(size);
if (array != NULL) { // 检查内存分配是否成功
// 现在你可以使用array访问每个元素
for (int i = 0; i < size; i++) {
array[i] = 0; // 初始化元素为0
printf("array[%d] = %d\n", i, array[i]);
}
free(array); // 用完后记得释放内存
} else {
printf("Error allocating memory.\n");
}
return 0;
}
// 创建数组的函数实现
int* create_array(int n) {
int* arr = (int*) malloc(n * sizeof(int)); // 动态分配n个int类型的内存
if (arr != NULL) {
// 如果分配成功,返回指向数组的指针
return arr;
} else {
// 分配失败,返回NULL表示错误
return NULL;
}
}
```
在这个例子中,`create_array()`函数通过`malloc()`动态地为指定的n申请内存,然后返回一个指向新创建数组的指针。请注意,在使用完数组后,一定要通过`free(arr)`释放所占用的内存。
阅读全文