利用指向数组元素的指针变量(一级指针)输出二维数组每个元素的值。
时间: 2024-12-18 22:22:40 浏览: 9
指向数组元素的指针变量的定义与赋值-c++指针学习
当你有一个二维数组时,你可以使用一个一级指针来访问每个元素。首先,你需要确保你知道数组的行数和列数以及它们在内存中的排列方式。在C语言中,通常二维数组的一维地址是连续存储的,所以我们可以用一个指针从第一个元素开始,然后每次增加数组的元素大小(也就是列数乘以类型大小),来访问整个数组。
以下是一个简单的例子:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
void print_2d_array(int arr[ROWS][COLS], int rows, int cols) {
int *ptr; // 一级指针,指向数组的第一个元素
ptr = arr; // 将指针初始化为二维数组的起始位置
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", *(ptr + j)); // 使用解引用(*)访问并打印元素
}
printf("\n"); // 换行
ptr += cols; // 移动到下一行的起始位置
}
}
int main() {
int array[ROWS][COLS] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
print_2d_array(array, ROWS, COLS);
return 0;
}
```
在这个例子中,`print_2d_array`函数接受一个二维数组、行数和列数。内部的两个嵌套循环用于遍历每一行的每一个元素,`*(ptr + j)`用来通过指针访问并打印数组中的元素。
阅读全文