linux C 指向二维数组的二级指针,如何调用数组中的数据
时间: 2024-10-22 10:15:29 浏览: 18
在Linux C语言中,如果有一个二维数组,你可以通过二级指针来访问它。首先,假设你有一个int类型的二维数组`arr[rowSize][colSize]`,其地址是`array`,你可以这样做:
```c
// 假设数组的行数为rows,列数为cols
int rows = 5;
int cols = 4;
// 创建指向二维数组首元素的一级指针
int (*ptr)[cols] = array; // 这里声明了一个指向整型数组的指针
// 然后创建指向数组元素的二级指针
int *rowPtr = ptr; // 初始化为一级指针,表示当前行的开始
// 要访问特定行和列的值,例如第i行第j列的元素
int value = rowPtr[j]; // 获取一行的第j个元素
// 如果需要遍历整个二维数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("Element at (%d,%d): %d\n", i, j, rowPtr[j]); // 打印数组值
rowPtr++; // 移动到下一行的开始
}
rowPtr += cols; // 在访问完一行后,跳过列之间的空隙,移动到下一行
}
```
阅读全文