c - 矩阵访问 Ansi C

标签 c matrix ansi-c

为什么主函数中的最后一个 printf 没有将值 10 打印到屏幕上? 我知道在 ANSI C 中,静态分配的矩阵在内存中的排列方式如下: 矩阵:矩阵[0][0]、矩阵[0][1]、...、矩阵[0][ColumnsDimension-1]、矩阵[1][0]等

#include <stdio.h>
#include <stdlib.h>

#define dimRighe 20
#define dimColonne 30

int main()
{
    int matrice[dimRighe][dimColonne]; 
    int i,j;
    for(i=0;i<dimRighe;i++)
        for(j=0;j<dimColonne;j++)
            matrice[i][j] = i+j; 
    matrice[0][3] = 10; 
    i = 0; j = 3;
    printf("%d",*matrice[i*dimColonne+j]); 
    return 0;
}

最佳答案

改用*(matrice[i * dimColonne] + j)

关于c - 矩阵访问 Ansi C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9166401/

相关文章:

c - 在 C 的 main 中有一个函数原型(prototype)是不好的做法吗

c++ - 使用蒙特卡罗方法多线程计算 pi 值

c++ - 如何将图的一部分压缩成单个节点并能够找到从一个节点到所有节点的最短路径?

C 预处理器结果

c - ANSI C 与其他 C 标准

在 C 中将大位字符串转换为十六进制

c++ - 编程 Arduino 与标准 C 有何不同?

python - 如何构建5x5矩阵?

python - 如何在 python 中定义多维数组?

python - 求解带状联立方程时出现溢出错误