易百教程

使用指针表示法获取二维数组中的值

要使用指针表示法获取二维数组中的值,请使用间接运算符。
以下代码更改前面的示例以显示第一个元素的值。

示例代码

#include <stdio.h>

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

  printf("value of matrix[0][0] : %c
", matrix[0][0]);
  printf("value of *matrix[0]   : %c
", *matrix[0]);
  printf("value of **matrix     : %c
", **matrix);
  system("pause");
  return 0;
}

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

value of matrix[0][0] : 1
value of *matrix[0]   : 1
value of **matrix     : 1

如果使用matrix(数组名称)来获取第一个元素的值,则应用两个间接运算符来获取它:** matrix
如果只使用一个*,你将获得数组数组的第一个元素的地址,这是matrix [0]引用的地址。
matrix指的是子数组数组中第一个元素的地址。matrix [0]matrix [1]matrix [2]指的是每个相应子阵列中第一个元素的地址。
使用两个索引值可访问存储在数组元素中的值。