编写一个能实现动态数组的程序,编写stu.h测试输入: 5 1 2 3 4 5; 预期输出: 1 2 3 4 5int fun() { //=======begin======= //========end======== return 0; }
时间: 2024-10-08 07:25:52 浏览: 30
第2章-matlab程序设计完整.pptx
为了实现动态数组(通常称为动态内存分配),我们可以使用C++中的`std::vector`,它是一个可以自动调整大小的容器。如果你需要手动管理内存,也可以使用C语言的`malloc()`和`realloc()`函数。这里我会展示如何使用`std::vector`来创建一个简单的动态数组,并提供一个`fun()`函数作为示例:
首先,在`stu.h`文件中,我们声明一个动态数组的功能,并定义输入和输出的接口:
```c++
#ifndef STU_H
#define STU_H
#include <iostream>
#include <vector>
// 定义动态数组处理函数
void input_and_process(int n);
int* dynamic_array();
#endif // STU_H
```
然后在`stu.cpp`文件中实现这个功能:
```cpp
#include "stu.h"
// 动态数组内部存储空间
int* dynamic_array() {
int size = 5; // 初始容量
std::vector<int> arr(size); // 使用std::vector创建动态数组
for (size_t i = 0; i < size; i++) {
// 输入并保存元素
std::cin >> arr[i];
}
return &arr[0]; // 返回数组的首地址,用于外部访问
}
// 处理输入并输出数组
void input_and_process(int n) {
int* arr = dynamic_array();
for (int i : *arr) { // 遍历并打印数组
std::cout << i << ' ';
}
std::cout << '\n'; // 打印换行符
delete[] arr; // 释放内存
}
// 主函数入口点
int main() {
int input;
std::cout << "请输入数组长度:";
std::cin >> input;
input_and_process(input);
return 0;
}
```
现在,当你运行这个程序并输入 `5` 然后输入 `1 2 3 4 5`,你会看到预期的输出 `1 2 3 4 5`。记住,`main()` 函数是程序的起点。
阅读全文