[Beowulf] Stroustrup regarding multicore
Perry E. Metzger
perry at piermont.com
Tue Aug 26 11:25:43 PDT 2008
Kyle Spaans <kspaans at student.math.uwaterloo.ca> writes:
> Either way, I've recently started writing Conway's Game of Life in
> C, as an exercise. I needed to figure out how to dynamically
> allocate a 2D array. I found an answer on the comp.lang.c FAQ.
> It's not terribly complex, but it seems to me like it's more
> involved than with Fortran.
It is pretty easy, as easy as Fortran. I'm not sure I understand the
issue. Lets say you have a 100*100 array type...
typedef double my_array_t
If you have a function, and you only want the thing
allocated for the life of that function...
Or of course, you can just do it without an advance type declaration...
If you don't know the size in advance, and you're just allocating for
the life of a function:
int foo(int dim_a, int dim_b,....)
works just fine (and indeed, you can use variables like that in any
block scope, not just at the start of a function block).
If you wish to allocate a my_array_t with malloc, it isn't really an
ptr = malloc(sizeof(my_array_t))
Of course, if you don't know in advance how large your array is going
to be, you have to multiply, for example:
ptr = malloc(sizeof(double)*100*100)
> And if it came to an array of dimension >> 3, wouldn't that be a lot
> of array indicies and deferences to calculate as the dimensions
> added up.
C compilers are no worse than Fortran compilers at that.
Perry E. Metzger perry at piermont.com
More information about the Beowulf