在C语言中,可以使用指向二维数组的指针来表示二维数组。 假设有一个二维数组arr,声明并初始化如下: int arr[3][4] =
假设有一个二维数组arr,声明并初始化如下:
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
可以定义一个指向二维数组的指针ptr,指向arr的开头,如下:
int (*ptr)[4] = arr;
这里的`(*ptr)[4]`表示ptr是一个指针,指向一个大小为4的一维数组。
对于二维数组arr,可以通过指针ptr来访问其中的元素,如下:
printf("%d", *(*ptr + 2)); // 输出3
这里的`(ptr + 2)`表示先解引用ptr,得到指向一维数组的指针,然后再将该指针加2,最后再解引用得到元素值。
同时,也可以通过指针ptr来遍历整个二维数组,如下:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", *(*(ptr + i) + j));
}
printf("\n");
}
这里的`((ptr + i) + j)`表示先将ptr加i,得到指向一维数组的指针,再将该指针加j,最后解引用得到元素值。通过双重循环遍历可以输出整个二维数组的元素。
--结束END--
本文标题: c语言二维数组指针如何表示
本文链接: https://lsjlt.com/news/482476.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0