定义了一个指针数组 p ,用于指向一个有5个元素的数组
时间: 2024-06-14 09:06:34 浏览: 19
定义一个指针数组p,用于指向一个有5个元素的数组的示例代码如下:
```c
int main() {
int arr[5] = {1, 2, 3, 4, 5}; // 定义一个有5个元素的数组arr
int *p[5]; // 定义一个指针数组p,用于指向arr数组的元素
for (int i = 0; i < 5; i++) {
p[i] = &arr[i]; // 将arr数组的元素的地址赋给指针数组p的元素
}
// 打印指针数组p的元素所指向的值
for (int i = 0; i < 5; i++) {
printf("p[%d] = %d\n", i, *p[i]);
}
return 0;
}
```
输出结果为:
```
p[0] = 1
p[1] = 2
p[2] = 3
p[3] = 4
p[4] = 5
```
相关问题
语句 int *p[5]; 定义了一个指针数组 p ,用于指向一个有5个元素的数组。
int *p[5]定义了一个指针数组p,其中p有5个成员,每个成员都是一个指针。这意味着p可以指向一个有5个元素的数组。可以将p看作一个指针的数组,每个指针指向一个整型值。
示例代码如下:
```c
int arr[5] = {1, 2, 3, 4, 5};
int *p[5];
p[0] = &arr[0]; // p的第一个成员指向arr的第一个元素
p[1] = &arr[1]; // p的第二个成员指向arr的第二个元素
// 依此类推,可以将p的其他成员指向arr的其他元素
// 输出p指向的元素值
for (int i = 0; i < 5; i++) {
printf("%d ", *p[i]);
}
```
这段代码定义了一个整型数组arr,并定义了一个指针数组p。然后,将p的每个成员指向arr的对应元素。最后,通过循环遍历p,输出p指向的元素值。
定义一个指向数组的指针p
定义一个指向数组的指针可以使用以下语法:
```c
int arr[5]; // 定义一个包含5个int类型元素的数组
int *p; // 定义一个指向int类型变量的指针
p = arr; // 将数组的首地址赋值给指针变量p,相当于p指向数组arr
```
或者可以使用以下语法将定义和赋值合并成一行:
```c
int arr[5]; // 定义一个包含5个int类型元素的数组
int *p = arr;// 定义一个指向int类型变量的指针,并将数组的首地址赋值给指针变量p,相当于p指向数组arr
```
注意,p指针变量的类型应该与数组元素的类型相匹配。在此例中,由于arr数组是一个int类型的数组,因此指向它的指针变量p应该也是一个int类型的指针。