由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Computation版 - a C language question regarding pointer usage
相关主题
一个发现: fftw里面的C语言做Fourier transform比Matlab快6倍 (无内文)关于三维快速傅立叶(FFT)
fftw如何将plan作为子程序参数?求DFT的Fortran源代码。。。。。。。。。。。。。。。。。。。。
请教: C语言一个中等大小的矩阵的内存分配matlab改成C++,还用了号称史上最快的fftw,结果慢了一倍
Fortran + C++问个比较初级的问题关于cosine transform 解篇微分的
fft algorithmfftw有memory leak
[转载] 做FFT的陷阱compile lammps using fftw-2.1.5 and intel compiler
FFT请问fftw和nag的fft谁好?
是不是cygwin问题?并行的fft大家用什么library?
相关话题的讨论汇总
话题: pointer话题: 2d话题: array话题: usage话题: regarding
进入Computation版参与讨论
1 (共1页)
e******r
发帖数: 220
1
在科学计算里, 我们一般什么情况用 pointer to pointer(for example double*
*) 传递值?
什么情况下用 pointer (for example double *)来传递值?
j**u
发帖数: 6059
2

double*
这个问题还真难回答。

【在 e******r 的大作中提到】
: 在科学计算里, 我们一般什么情况用 pointer to pointer(for example double*
: *) 传递值?
: 什么情况下用 pointer (for example double *)来传递值?
:

j**u
发帖数: 6059
3
找本C语言的书,看看指针数组那段。

numfactor, double

【在 e******r 的大作中提到】
: 在科学计算里, 我们一般什么情况用 pointer to pointer(for example double*
: *) 传递值?
: 什么情况下用 pointer (for example double *)来传递值?
:

p*****e
发帖数: 310
4
难道不是**用在二维数组,*用在一维吗

numfactor, double

【在 e******r 的大作中提到】
: 在科学计算里, 我们一般什么情况用 pointer to pointer(for example double*
: *) 传递值?
: 什么情况下用 pointer (for example double *)来传递值?
:

f*******a
发帖数: 80
5
For a 2D array, i.e. a matrix, there is advantage to use * but not **,
particularly for very large size.
For large 2D array, there is a need to dynamically allocate memory. If you
want to use **, you will need two malloc statements and a for loop to get
the 2D array ready. Also, you will need another for loop to free the memory
space. The advantage is that you can still use the square brackets, e.g. a[]
[] to index each elements.
If you use *, the advantage is that you only need one malloc state

【在 p*****e 的大作中提到】
: 难道不是**用在二维数组,*用在一维吗
:
: numfactor, double

O******e
发帖数: 734
6
Using ** to deal with 2D arrays normally means that the array is not
stored contiguously in memory, and for nonsparse algorithms manipulating
the entire array at once the fragmentation can inhibit code optimization
since the compiler will generally have difficulty resolving aliasing and
flow
dependency issues.
FFTW and other references suggest allocating the entire array using *,
then using ** to point to the beginning of each row if you want the
convenience of using [][] indexing.

memory
[]
th

【在 f*******a 的大作中提到】
: For a 2D array, i.e. a matrix, there is advantage to use * but not **,
: particularly for very large size.
: For large 2D array, there is a need to dynamically allocate memory. If you
: want to use **, you will need two malloc statements and a for loop to get
: the 2D array ready. Also, you will need another for loop to free the memory
: space. The advantage is that you can still use the square brackets, e.g. a[]
: [] to index each elements.
: If you use *, the advantage is that you only need one malloc state

1 (共1页)
进入Computation版参与讨论
相关主题
并行的fft大家用什么library?fft algorithm
fftw mpi[转载] 做FFT的陷阱
关于 fftw 的问题FFT
我们碰到的大麻烦——急寻计算机工作和博后机会 (转载)是不是cygwin问题?
一个发现: fftw里面的C语言做Fourier transform比Matlab快6倍 (无内文)关于三维快速傅立叶(FFT)
fftw如何将plan作为子程序参数?求DFT的Fortran源代码。。。。。。。。。。。。。。。。。。。。
请教: C语言一个中等大小的矩阵的内存分配matlab改成C++,还用了号称史上最快的fftw,结果慢了一倍
Fortran + C++问个比较初级的问题关于cosine transform 解篇微分的
相关话题的讨论汇总
话题: pointer话题: 2d话题: array话题: usage话题: regarding