访问二维数组指定行列元素
介绍如何使用C语言输出二维数组中指定行指定列的元素值。
#include
int main() {
// 初始化一个3行4列的二维数组
int a[3][4] = { {1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19, 21, 23} };
// 定义一个指向包含4个整数元素数组的指针
int (*p)[4];
int row, col;
// 将二维数组的首地址赋给指针p
p = a;
// 从用户处获取要访问的行列号
printf("请输入要访问的行列号(从0开始,以逗号分隔): ");
scanf("%d,%d", &row, &col);
// 使用指针访问并输出指定元素的值
printf("a[%d][%d] = %d
", row, col, *(*(p + row) + col));
return 0;
}
代码解析:
- 定义了一个
int (*p)[4]
类型的指针p
,它指向一个包含 4 个整数的数组。 - 将二维数组
a
的首地址赋值给指针p
。 - 使用
scanf
函数从用户获取要访问的行列号row
和col
。 - 表达式
*(p + row)
表示指向第row
行的首地址,*(p + row) + col
表示指向第row
行第col
列元素的地址,最后使用*
取值。
运行结果:
请输入要访问的行列号(从0开始,以逗号分隔): 1,2
a[1][2] = 13
暂无评论