● int vectorInsert( vector * 数组, int 索引, 数据值);
我在做
如果可以根据给定的声明更正此问题。
我正在使用它调用
Vector *vect = initVector();
Data data_array[20];
for(i = 0 ; i < 20 ; i++){
data_array[i].value = (rand() % 20) + 1;
vectorInsert(vect, i, data_array[i]);
}
最佳答案
您的代码中有几个错误,但最重要的一个是在您的 initVector
函数中,您实际上需要为 vector 分配内存。
您还需要执行以下操作:
- 在
initVector
中返回v
而不是v->data
或&v
- 在
vectorInsert
中打印array->data[index].value
而不是array->data[index]
- 在
vectorInsert
中,成功时返回1
,在分配中添加错误检查,并在内存错误时返回0
。
除了原始的 malloc 之外,所有这些都是编译器返回的警告。
关于c - C 中的动态数组 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40403889/