文章目录
- 总结
- 一、使用 数组类型* 定义数组指针
- 二、完整代码示例
总结
代码语言:javascript复制 typedef int(ArrayType)[3];
ArrayType *p = NULL;
一、使用 数组类型* 定义数组指针
数组类型指针 就是 定义一个指针 , 指向数组首地址 ;
使用 数组类型* 定义数组指针 ,
首先 , 定义数组类型 别名 ,
代码语言:javascript复制 typedef int(ArrayType)[3];
然后 , 使用别名类型 , 声明数组变量 ,
代码语言:javascript复制 ArrayType array2 = {0};
最后 , 声明一个指针 , 将 array2 变量地址赋值给该指针 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;
代码语言:javascript复制 ArrayType *p = NULL;
p = &array2;
验证上述 定义的数组指针 :
为 数组元素 赋值 ,
代码语言:javascript复制 // 为数组赋值
int i = 0;
for(i = 0; i < 3; i )
{
array2[i] = i 1;
}
使用 数组指针 , 打印数组元素内容 :
代码语言:javascript复制 // 使用 数组指针 访问数组中的值
for(i = 0; i < 3; i )
{
printf("%dn", (*p)[i]);
}
二、完整代码示例
代码示例 :
代码语言:javascript复制#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
// 指针数组 , 数组元素是指针
char *array = {"12", "ab", "34"};
// 数组指针 , 使用指针变量指向数组
// 使用 数组别名 定义数组指针
// 首先 , 定义数组类型 别名
typedef int(ArrayType)[3];
// 然后 , 使用别名类型 , 声明数组变量
ArrayType array2 = {0};
// 最后 , 声明一个指针 , 将 array2 变量地址赋值给该指针
// 指针指向的数据类型为 int[3] 数组类型的变量 array2
ArrayType *p = NULL;
p = &array2;
// 为数组赋值
int i = 0;
for(i = 0; i < 3; i )
{
array2[i] = i 1;
}
// 使用 数组指针 访问数组中的值
for(i = 0; i < 3; i )
{
printf("%dn", (*p)[i]);
}
// 命令行不要退出
system("pause");
return 0;
}
执行结果 :