c - 在函数中通过指向多维数组的指针分配指针

标签 c pointers matrix multidimensional-array pointer-to-pointer

这个问题在这里已经有了答案:





How to pass a 2D array by pointer in C?

(4 个回答)


去年关闭。



void print_first_n_row(double **matrix, int n, int row_size) {
 double (*abc)[row_size];
 abc=matrix;}

我从不兼容的指针类型 [-Wincompatible-pointer-types] 分配
abc=矩阵错误。我该如何解决这个问题?

最佳答案

矩阵是 abstract data type .如何实现它是一个实现细节。

this我详细说明了如何在 C 中实现这样的类型。

C 中并不真正存在多维数组。 C 只有数组数组,或指针数组 - 或其他类型,包括标量数组。通过阅读查看 n1570 (C11 标准)。

I am having assignment from incompatible pointer type [-Wincompatible-pointer-types] abc=matrix error. How can I solve this?



要么用抽象数据类型术语思考,要么阅读更多关于 C dynamic memory allocation 的信息。 (考虑使用 flexible array members )和关于 C programming language .

您可以在 github 上找到许多与矩阵相关的源代码示例。或 gitlab和其他地方。

关于c - 在函数中通过指向多维数组的指针分配指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61635216/

相关文章:

c++ - 为什么我不能在 switch/case 中使用 unsigned short?

c++ - 它怎么可能成为竞争条件。或者我的代码有问题

algorithm - 最小列总和差异是多少?

r - 不同大小矩阵的相同内存使用

python - 如何在Python中求矩阵指数的积分

c - 在 Linux 中检索网络摄像机流 URL

c - cos() 的数学表达式不返回期望值

c - 为什么字符指针只分配一个字符,而应该分配一个字符串?

python - 将文件内容存储在缓冲区中并将其分配给 Python 中的指针

c - 在结构中访问和设置数组值