Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我已经阅读了一些有关C语言中动态增长数组的文章,但看不到如何创建2D增长数组(如在MATLAB中)。
我有一个函数可以为某些图像处理构造一个数组,但是我不知道该数组(行和行)的大小是多少。我该如何创建呢? 我读了一些有关malloc和realloc的内容。这些功能对于此问题是可移植的或有用的。 编辑:使用Armadillo库 (C ++线性代数库)解决了。 回答: 最简单的是使用指针 int nrows = 10; int ncols = 5; double* matrix = new double[mrows*ncols]; 然后,您可以像访问2D数组一样访问它。 因此,如果您想要matrix[row][col] ,则可以 int offset = row*ncols+col; double value = matrix[offset]; 另外,如果您想像Matlab一样舒适地使用Matlab,请查看Armadillo 更多&回答... |
![]() |
![]() |