文章目录

  • 总结
  • 一、直接定义 数组指针
  • 二、完整代码示例

总结

int (*p)[3] = NULL;

一、直接定义 数组指针


直接定义 数组指针 ,

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

int array2[3] = {0};

然后 , 直接定义数组类型变量 ,

int (*p)[3] = NULL;

最后 , 将 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"};

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

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

// 然后 , 直接定义数组类型变量
int (*p)[3] = NULL;

// 最后 , 将 array2 变量地址赋值给该 数组指针类型 变量
// 指针指向的数据类型为 int[3] 数组类型的变量 array2
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 语言】数组 ( 数组指针 | 数组指针定义 | 直接定义 数组指针 )_数组