举一个数组和指针的例子
时间: 2024-05-08 10:02:58 浏览: 55
好的,下面是一个简单的例子:
```
#include <stdio.h>
int main() {
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 指针指向数组的第一个元素
printf("数组元素:");
for (int i = 0; i < 5; i++) {
printf("%d ", arr[i]);
}
printf("\n指针指向的数组元素:");
for (int i = 0; i < 5; i++) {
printf("%d ", *(ptr + i)); // 通过指针访问数组元素
}
return 0;
}
```
在这个例子中,我们声明了一个大小为5的整型数组`arr`,并将其初始化为{1, 2, 3, 4, 5}。然后我们声明了一个指向整型变量的指针`ptr`,并将其指向数组的第一个元素(即`arr[0]`)。接下来,我们使用循环遍历数组并通过指针访问数组元素。在第一个循环中,我们直接使用数组下标来访问数组元素;在第二个循环中,我们通过指针和指针运算符`*`来访问数组元素。两种方法都会输出相同的结果。
相关问题
一维数组指针数组举个例子
一维数组指针数组是指一个数组,其中每个元素都是一个指向一维数组的指针。举个例子,假设我们有一个包含三个一维数组的数组,每个一维数组都有四个元素。我们可以这样定义一个一维数组指针数组:
```
int arr1[4] = {1, 2, 3, 4};
int arr2[4] = {5, 6, 7, 8};
int arr3[4] = {9, 10, 11, 12};
int* arr[3] = {arr1, arr2, arr3};
```
在这个例子中,`arr` 是一个包含三个元素的指针数组,每个元素都是一个指向包含四个整数的一维数组的指针。我们可以通过以下方式访问这些数组:
```
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
```
这将输出:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
数组指针和指针数组例子,以及包含函数指针的数组如何声明定义
下面我将为你提供数组指针和指针数组的例子,并展示如何声明和定义包含函数指针的数组。
1. 数组指针(Array Pointer)的例子:
```cpp
int arr[5] = {1, 2, 3, 4, 5};
int (*ptr)[5]; // 声明一个指向包含5个int元素的数组的指针
ptr = &arr; // 将指针指向数组
```
2. 指针数组(Array of Pointers)的例子:
```cpp
int num1 = 5, num2 = 10, num3 = 15;
int *ptrArr[3]; // 声明一个包含3个int指针元素的数组
ptrArr[0] = &num1; // 数组元素指向变量
ptrArr[1] = &num2;
ptrArr[2] = &num3;
```
3. 包含函数指针的数组的声明和定义:
```cpp
// 假设我们有以下函数原型
int add(int a, int b);
int subtract(int a, int b);
// 声明一个包含函数指针的数组
int (*mathFunc[2])(int, int);
```
然后,我们可以将函数指针赋值给数组中的元素:
```cpp
mathFunc[0] = &add;
mathFunc[1] = &subtract;
```
使用函数指针数组调用函数:
```cpp
int result = mathFunc[0](3, 2); // 调用 add 函数,返回 5
```
这样,我们就成功声明、定义和使用了一个包含函数指针的数组。
阅读全文