文章目录

总结一、使用 数组指针类型 定义数组指针二、完整代码示例

总结

// 首先 , 定义 数组指针类型 别名
typedef int(*ArrayPointer)[3];

// 然后 , 声明一个 数组指针类型 变量
ArrayPointer p = NULL;

一、使用 数组指针类型 定义数组指针


使用 数组指针类型 定义数组指针 ,

首先 , 使用 typedef 定义一个数组指针类型 ,

typedef int(*ArrayPointer)[3];

然后 , 定义一个普通数组 , 之后的 数组指针 指向该数组 ,

int array2[3] = {0};

最后 , 声明一个 数组指针类型 变量 , 将 array2 变量地址赋值给该 数组指针类型 变量 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;

ArrayPointer p = NULL;
p = &array2;

​验证上述 定义的数组指针 :​

为 数组元素 赋值 ,

// 为数组赋值
int i = 0;
for(i = 0; i < 3; i++)
{
array2[i] = i + 1;
}

使用 数组指针 , 打印数组元素内容 :

// 使用 数组指针 访问数组中的值
for(i = 0; i < 3; i++)
{
printf("%d\n", (*p)[i]);
}

二、完整代码示例


​完整代码示例 :​

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
// 指针数组 , 数组元素是指针 (作为参考)
char *array = {"12", "ab", "34"};

// 数组指针 , 使用指针变量指向数组

// 使用 数组指针类型 定义数组指针

// 首先 , 定义 数组指针类型 别名
typedef int(*ArrayPointer)[3];

// 然后 , 定义一个普通数组 , 之后的 数组指针 指向该数组
int array2[3] = {0};

// 最后 , 声明一个 数组指针类型 变量
// 将 array2 变量地址赋值给该 数组指针类型 变量
// 指针指向的数据类型为 int[3] 数组类型的变量 array2
ArrayPointer p = NULL;
p = &array2;


// 为数组赋值
int i = 0;
for(i = 0; i < 3; i++)
{
array2[i] = i + 1;
}

// 使用 数组指针 访问数组中的值
for(i = 0; i < 3; i++)
{
printf("%d\n", (*p)[i]);
}

// 命令行不要退出
system("pause");
return 0;
}

​执行结果 :​

【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )_数组指针