文章目录
总结一、使用 数组指针类型 定义数组指针二、完整代码示例总结
// 首先 , 定义 数组指针类型 别名
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;
}
执行结果 :