例如在这段代码中:
double **Data, *DataT;
Data = (double **)malloc(3*sizeof(double *)+3*12*sizeof(double));
Run Code Online (Sandbox Code Playgroud)
我刚刚读到malloc从堆中分配内存.但我找不到那个(双**)在malloc面前的含义.在此之后还有一行代码,我已经看过了.
for (i = 0, DataT = (double *)(Data+3); i < 3; i++, DataT += 12)
Run Code Online (Sandbox Code Playgroud)
这里有一个(double*)在Data + 3前面
你能告诉我这是做什么的吗?谢谢
malloc()返回类型void *,而您的指针是类型double *或double **.malloc之前的运算符 - 看起来像(类型) - 是类型转换运算符,需要将malloc的返回值转换为您正在使用的指针类型.