动态创建一个大小已知的二位数组, 首先, 我们需要利用 typedef 建立
一个自定义类型。通过该类型我们可以描述二维数组的信息。假设我们要
创建一个 4*10 的 int 型二维数组,则对应的代码为:
接下来, 我们声明一个指向该类型二维数组的指针——也就是一个“指
向数组的指针”:
接下来,我们通过 malloc 函数申请数组空间:
通过以上步骤,我们成功地实现了动态创建已知大小的二维数组。这
种方法实际上也适用动态创建已知大小的多维数组。对于申请到的空间,
我们可以利用指向数组地指针直接进行访问,例如:
一个自定义类型。通过该类型我们可以描述二维数组的信息。假设我们要
创建一个 4*10 的 int 型二维数组,则对应的代码为:
//建立自定义类型,描述而维数组信息
typedef int ARRAY[4][10];
接下来, 我们声明一个指向该类型二维数组的指针——也就是一个“指
向数组的指针”:
//建立数组指针,用于保存分配到的空间地址
ARRAY *pArr = NULL; //声明一个指针,并初始化为 NULL
接下来,我们通过 malloc 函数申请数组空间:
pArr = (ARRAY *)malloc(sizeof(ARRAY));
if (pArr == NULL) //检查空间是否分配成功
{
//这里插入空间申请失败的处理代码
}
通过以上步骤,我们成功地实现了动态创建已知大小的二维数组。这
种方法实际上也适用动态创建已知大小的多维数组。对于申请到的空间,
我们可以利用指向数组地指针直接进行访问,例如:
//访问动态的二维数组的例子
(*pArr)[2][4] = -123; //利用指向函数的指针访问数组