У меня есть пример программы 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;
}
Мой вопрос: какова значимость **
в типе возвращаемого значения. Я знаю, что *
обычно используется как pointer
. Я знаю, что он также может использоваться для указателя dereference
.
Это заставляет меня думать, что double**
является двойным значением, потому что это по существу разыменование ссылки. Правильно ли я считаю? Если нет, может кто-нибудь объяснить, пожалуйста, использование **
в этом примере?
Указатель на указатель – sashas
@sasha Какое значение имеет указатель на указатель? Можете ли вы объяснить это в ответ? –
Cdecl C бредом ↔ английский объявить как указатель на указатель на двойной постоянную ссылку –