一维数组指针数组举个例子
时间: 2023-10-26 14:07:05 浏览: 61
一维数组指针数组是指一个数组,其中每个元素都是一个指向一维数组的指针。举个例子,假设我们有一个包含三个一维数组的数组,每个一维数组都有四个元素。我们可以这样定义一个一维数组指针数组:
```
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
```
相关问题
一维数组指针指向二维数组
一维数组指针可以指向二维数组。在C语言中,二维数组实际上是由多个一维数组组成的。可以通过定义一个指向一维数组的指针来指向二维数组的首地址。例如,可以定义一个指向int类型的一维数组指针来指向int类型的二维数组:
```c
int ary[4][5];
int (*aryp)[5] = ary;
```
在上面的例子中,`aryp`是一个指向int类型的一维数组的指针,它指向了`ary`二维数组的首地址。可以通过`aryp`来访问二维数组中的元素。
二维数组指针
二维数组指针是一个指向二维数组首元素地址的指针,也可以被称为指向二维数组的指针。在C语言中,二维数组可以表示为一个指向一维数组的指针数组,这个指针数组的每个元素都指向一个一维数组,因此可以使用二维数组指针来访问二维数组中的元素。
下面是一个二维数组指针的例子:
```
int array[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int (*p)[4]; // 定义一个指向含有4个整型元素的一维数组的指针
p = array; // 将数组array的首地址赋值给指针p
// 访问数组中的元素
printf("%d\n", *(*p + 1)); // 输出2
printf("%d\n", *(p[1] + 2)); // 输出7
```
在上面的例子中,指针p被定义为一个指向含有4个整型元素的一维数组的指针,因此它可以指向二维数组array的每一行。通过指针p来访问数组中的元素时,需要使用指针运算符`*`和`[]`。例如,`*p`表示数组的第一行,`p[1]`表示数组的第二行。