定义一个指向数组的指针p
时间: 2023-09-23 18:11:15 浏览: 43
定义一个指向数组的指针可以使用以下语法:
```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类型的指针。
相关问题
如何定义一个数组指针
定义数组指针可以有三种方法:
1. 使用typedef定义一个数据类型,再使用这个数据类型定义指针变量。
2. 直接使用typedef定义一个数组指针类型,再使用这个类型定义指针变量。
3. 直接定义一个数组指针变量。
举个例子,定义一个int类型的一维数组指针,可以使用以下三种方法:
1.
typedef int (myArr)[5];//定义一个数据类型,数组数据类型
myArr myArr1;//定义一个数据类型为myArr的变量,相当于int myArr1[5]
myArr *pArray;//定义一个指针变量,这个指针变量指向一个数组
2.
typedef int (*PMyArr)[5];//定义一个数据类型,数组指针类型
PMyArr pArray;//告诉编译器分配一个指针变量
int c[5];
pArray = &c;//让指针变量指向数组
3.
int (*PMyArr)[5];//直接定义一个数组指针变量
int c[5];
PMyArr = &c;//让指针变量指向数组
注意:数组指针是指针而不是数组,它指向一个数组并存储该数组的地址。
怎样定义一个指向静态数组的指针
要定义一个指向静态数组的指针,可以使用以下语法:
```c
int arr[10];
int *ptr = arr;
```
这将创建一个名为 `arr` 的静态整数数组,大小为 10。然后,我们将创建一个指向该数组的指针 `ptr`,它将指向数组的第一个元素。在这种情况下,`ptr` 将指向 `arr[0]`。