要使用指针表示法获取二维数组中的值,请使用间接运算符。
以下代码更改前面的示例以显示第一个元素的值。
示例代码
#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]
指的是每个相应子阵列中第一个元素的地址。
使用两个索引值可访问存储在数组元素中的值。