c++ return vector
时间: 2023-10-24 11:05:30 浏览: 141
在C语言中,要返回一个向量(vector)类型的值,需要使用指针作为参数,并在函数内部分配内存来存储向量的元素。以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int* data;
int size;
} Vector;
Vector* createVector(int size) {
Vector* vec = (Vector*)malloc(sizeof(Vector));
vec->data = (int*)malloc(size * sizeof(int));
vec->size = size;
return vec;
}
void freeVector(Vector* vec) {
free(vec->data);
free(vec);
}
int main() {
Vector* vec = createVector(5);
for (int i = 0; i < vec->size; i++) {
vec->data[i] = i + 1;
}
for (int i = 0; i < vec->size; i++) {
printf("%d ", vec->data[i]);
}
freeVector(vec);
return 0;
}
```
这个示例中,我们定义了一个结构体 `Vector`,其中包含一个指向整型数组的指针 `data` 和一个表示向量大小的整数 `size`。`createVector` 函数用于创建一个指定大小的向量,并返回其指针。在 `main` 函数中,我们先创建一个大小为 5 的向量,并赋予其元素值为 1 到 5。然后使用 for 循环遍历并打印出向量的元素值。最后,通过调用 `freeVector` 函数释放向量占用的内存。
阅读全文