gpt4 book ai didi

c++ - C中double **和double (*)[2]的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:39 29 4
gpt4 key购买 nike

double ** 和 double (*)[2] 有什么区别。

如果我理解得很好,double ** 是指向 double 指针的指针,因此它可以是任意大小的二维数组,而 double (*)[2] 是指向 double[2] 数组的指针.

那么如果是对的,如何才能成功传递给函数。

例如:

void pcmTocomplex(short *data, double *outm[2])

如果我传递 double (*)[2] 作为参数,我会收到以下警告:

warning: passing argument 2 of ‘pcmTocomplex’ from incompatible pointer type
note: expected ‘double **’ but argument is of type ‘double (*)[2]’

将 double (*)[2] 传递给函数的正确方法是什么?

编辑:调用代码

fftw_complex        *in;             /* typedef on double[2] */
in = (fftw_complex *) fftw_malloc(sizeof(fftw_complex) * 1024);

pcmTocomplex(data, in);

最佳答案

double *outm[2]double (*outm)[2] 不同。第一个是指针数组(在此上下文中等同于 double **);第二个是指向数组的指针。

如有疑问,请使用 cdecl .

关于c++ - C中double **和double (*)[2]的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9633110/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com