**在C中是什么意思?

布赖恩

我有一个示例C程序,我试图理解。以下是源代码的功能摘录:

double** Make2DDoubleArray(int arraySizeX, int arraySizeY)
{
  double** theArray;
  theArray = (double**) malloc(arraySizeX*sizeof(double*));
  int i = 0;

  for (i = 0; i < arraySizeX; i++)
    theArray[i] = (double*) malloc(arraySizeY*sizeof(double));

  return theArray;
}

我的问题是**return类型的意义是什么我知道该*通常用作pointer我知道它也可以用于dereference指针。

这使我认为这double**是一个双精度值,因为它实质上是对引用的取消引用。我的想法正确吗?如果不是,请**在这个示例中有人解释吗?

乔纳森·伍德

在这种情况下,double意味着类型为double的变量。

double* 表示指向double变量的指针。

double** 表示指向double变量的指针。

对于您发布的函数,它用于创建一种二维双精度数组。也就是说,一个指向双指针数组的指针,并且每个指针都指向一个指针数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章