C语言中使用算术指针将一维矩阵转换为二维矩阵

标签 c programming-languages

如何在 C 编程语言中使用指针算术将一维矩阵寻址和一维 block 寻址转换为二维。

任何人都可以帮忙吗?提前致谢:)

最佳答案

假设您需要一个 10x15 矩阵(10 行,15 列),用于分配内存:

int numRows = 10;
int numColumns = 15;
int *matrix = malloc(sizeof(int) * numRows * numColumns);

要访问任何元素,请将所需的行乘以列数并添加列号:

//access row 3, column 5:
int value = matrix(3 * numColumns + 5);

就是这样。

关于C语言中使用算术指针将一维矩阵转换为二维矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5586019/

相关文章:

c - 我如何使用c将数据保存在二进制文件中

C 迭代到一个非常大的数字 - 关于 unsigned int 的编译器警告

c++ - 当一种语言是另一种语言的平行超集时,这意味着什么?

programming-languages - 有人以 Scheme 编程语言为生吗?

compiler-construction - 是否有可能制作高级编译语言?

programming-languages - 具有速记相等逻辑的编程语言,用于将一个变量与多个变量进行比较

c - if (variable) { while(variable){...} } 如何在 C 编程中工作?

c - 从函数返回局部变量

c - 扫描句子中字母之间的数字

programming-languages - 了解声明式编程语言的技巧?