指针指向数组
时间: 2023-07-20 11:12:08 浏览: 245
023 指向数组的指针 C语言
指针和数组在C/C++中的关系非常密切,指针可以指向数组的第一个元素,也可以通过指针访问数组中的元素。以下是指针指向数组的基本用法:
1. 定义指向数组的指针变量
定义一个指向数组的指针变量,需要在指针变量名前加上数组名和下标0。例如,定义一个指向整型数组a的指针变量p,可以这样写:
```
int a[5] = {1, 2, 3, 4, 5};
int *p = &a[0];
```
或者直接这样写:
```
int a[5] = {1, 2, 3, 4, 5};
int *p = a;
```
2. 通过指针访问数组元素
可以通过指针变量加上下标的方式来访问数组中的元素。例如,访问a数组中的第三个元素,可以这样写:
```
int a[5] = {1, 2, 3, 4, 5};
int *p = a;
int b = *(p + 2);
```
这里的p+2表示指针p往后移动2个整型变量的长度,也就是指向了a数组中的第三个元素,然后通过解引用符*来获取该元素的值。
3. 指针作为函数参数传递数组
指针还可以作为函数参数来传递数组。例如,定义一个函数来计算数组中所有元素的和,可以这样写:
```
int sum(int *p, int n)
{
int s = 0;
for (int i = 0; i < n; i++)
{
s += *(p + i);
}
return s;
}
int main()
{
int a[5] = {1, 2, 3, 4, 5};
int s = sum(a, 5);
return 0;
}
```
这里的sum函数接收一个指向整型数组的指针p和数组的长度n,然后遍历数组中的所有元素,计算它们的和并返回。在main函数中,将a数组和数组长度5作为参数传递给sum函数。
阅读全文