C语言怎么取出连续子数组
时间: 2024-10-14 21:00:43 浏览: 5
在C语言中,没有内置函数可以直接帮你取连续子数组。但是你可以通过循环和数组下标来实现这个功能。以下是一个简单的例子,假设你想从一个整数数组`arr[]`中提取一个长度为`n`的连续子数组:
```c
#include <stdio.h>
// 函数声明
void getSubArray(int arr[], int n, int start, int* result);
int main() {
int arr[] = {1, 2, 3, 4, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
int start = 2; // 子数组开始位置
int subArr[n]; // 存储子数组的临时数组
getSubArray(arr, n, start, &subArr);
printf("子数组: ");
for (int i = 0; i < n; i++) {
printf("%d ", subArr[i]);
}
return 0;
}
// 函数实现 - 取出连续子数组
void getSubArray(int arr[], int n, int start, int* result) {
for (int i = 0; i < n; i++, start++) {
result[i] = arr[start];
}
}
```
在这个示例中,`getSubArray`函数接受原始数组、子数组的长度、子数组的起始位置以及结果数组指针。它通过遍历指定范围复制数据到结果数组。
阅读全文