数组指针怎么输出数组
时间: 2024-08-16 21:02:08 浏览: 53
数组指针在内存中存储的是数组的第一个元素的地址,因此可以直接通过指针访问整个数组。在C语言中,通常会先声明一个指向数组的指针,然后通过解引用操作来逐个访问并打印数组元素。下面是一个简单的例子:
```c
int arr = {1, 2, 3, 4, 5}; // 定义一个包含5个整数的数组
// 定义一个指向数组首元素的指针
int* ptr = arr;
// 输出数组元素
for (int i = 0; i < 5; i++) {
printf("%d ", *ptr); // 使用星号(*)解引用指针并打印元素
ptr++; // 指针向前移动一位指向下一个元素
}
// 结果:1 2 3 4 5
```
在这个示例中,`printf("%d ", *ptr)` 表达式实际上是在打印指针所指向的整数值。每循环一次,`ptr`都会自增,直到遍历完整个数组。
相关问题
c++二维数组指针输出
以下是C++二维数组指针输出的例子:
```cpp
#include <iostream>
using namespace std;
int main() {
int a[3][4] = { {1, 3, 5, 7}, {9, 11, 13, 15}, {17, 19, 21, 23} };
int (*p)[4] = a; // 定义一个指向一维数组的指针变量,指向二维数组的第一个一维数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
cout << *(*(p + i) + j) << " "; // 输出二维数组各元素的值
}
cout << endl;
}
return 0;
}
```
用数组指针输出二维数组函数
可以使用数组指针作为参数,通过指针遍历二维数组并输出。具体实现方法如下:
```c
#include <stdio.h>
void printArr(int (*p)[3], int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", *(*(p + i) + j));
}
printf("\n");
}
}
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
int (*p)[3] = arr;
printArr(p, 2, 3);
return 0;
}
```
输出结果为:
```
1 2 3
4 5 6
```
阅读全文