STM32,C语言程序:编写一个可调用函数,获取含有15个元素的数组的任意连续几个元素,放到一个新的数组中,并返回这个新的数组
时间: 2024-05-05 12:20:15 浏览: 17
以下是一个获取连续几个元素的函数示例:
```c
#include <stdio.h>
#include <stdlib.h>
int* getSubArray(int* array, int start, int length) {
int* subArray = (int*) malloc(length * sizeof(int)); // 分配新数组的空间
for (int i = 0; i < length; i++) {
subArray[i] = array[start + i]; // 将连续元素复制到新数组
}
return subArray;
}
int main() {
int array[15] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int* subArray = getSubArray(array, 3, 5); // 获取从第4个元素开始的连续5个元素
printf("subArray: ");
for (int i = 0; i < 5; i++) {
printf("%d ", subArray[i]); // 输出新数组的内容
}
free(subArray); // 释放新数组的空间
return 0;
}
```
在上述示例程序中,`getSubArray`函数接收三个参数:原始数组、新数组的起始位置和新数组的长度。该函数使用`malloc`函数在堆上动态分配了一个新的数组,并将原始数组中的连续元素复制到新数组中。最后,函数返回新数组的指针。
示例程序中`main`函数调用`getSubArray`函数来获取原始数组中从第4个元素开始的连续5个元素,并输出新数组的内容。最后,使用`free`函数释放新数组的空间。