gpt4 book ai didi

c - 如何访问动态 vector 的元素?

转载 作者:行者123 更新时间:2023-11-30 16:18:31 25 4
gpt4 key购买 nike

我想通过函数从矩阵移动到动态 vector 。然后为了验证一切顺利,我想打印 vector 元素。

功能:

    float **v;
float ** matrix_to_vector(const float m[][2],size_t n){
v = (float **)malloc(n * sizeof(float*));
for(i=0;i<n;i++){
v[i] = (float *)malloc(n * sizeof(float));
for(j=0;j<MAX_COLS;j++){
*(v[i]) = m[i][j];
}
}
return v;
}

On main():
float ** vector;
vector = matriz_a_vector(m,cantidad);

for(i=0;i<cantidad;i++){
for(j=0;j<MAX_COLS;j++){
printf("%f\t",*(vector[i]));
}
printf("\n");
}

我的问题是我总是保留 M [ I][ 1] 元素,因为当循环完成时,它总是保存 v [ I] 中的值。当我打印 vector 时,它只打印 M [ I] [ 1] 的值,因为它是保存变量的值。我怎样才能访问所有元素并将它们全部打印出来?

最佳答案

已解决。一旦在第一个 for 中为 v [i] 请求了内存,它就会复制创建的 vector 中的矩阵值。然后我做了一个函数来打印该 vector 。

for(i=0;i<n;i++){
for(j=0;j<MAX_COLS;j++){
v[i][j] = m[i][j];
}
}

关于c - 如何访问动态 vector 的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55877284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com