易百教程

使用指针和for循环获取二维数组中的值

使用指针和for循环获取二维数组中的值。

示例代码

#include <stdio.h>

int main(void)
{
    char matrix[3][3] = {
      { '1','2','3' },
      { '4','5','6' },
      { '7','8','9' }
    };

    // 数组中的元素
    for (int i = 0; i < 9; ++i)
        printf(" matrix: %c
", *(*matrix + i));
    system("pause");
    return 0;
}

执行上面代码,得到以下结果:

 matrix: 1
 matrix: 2
 matrix: 3
 matrix: 4
 matrix: 5
 matrix: 6
 matrix: 7
 matrix: 8
 matrix: 9

在循环中取消引用矩阵:

printf(" matrix: %c
", *(*matrix + i));

使用表达式*(* matrix + i)来获取数组元素的值。* matrix + i生成矩阵数中偏移量为i的元素的地址。
使用matrix(数组名称)与使用char **类型的地址值相同。取消引用矩阵产生相同的地址值,但类型为char *