Just to add to the above. When you use:
Code:
delta[0]=77;
m1[0]=84;
m2[0]=104;
m3[0]=100;
They all use the same area of memory, as delta, m1, m2 and m3 are all initialised to a value of 0. And 0[0] means memory address 0 offset by 0, that is address 0.
Using
Code:
delta = 0;
m1 = 256;
m2 = 512;
m3 = 768;
delta[0]=77;
m1[0]=84;
m2[0]=104;
m3[0]=100;
as geraintluff posted, then the 4 "arrays" (really sequences of variables) are initialised to point to discrete addresses; delta[0] is address 0, m1[0] is address 256, m2[0] is address 512 etc
-------------------------
I often use something like:
Code:
start_alpha = 1024; noof_alphas = 256;
start beta = start_alpha + noof_alphas; noof_betas = 256;
beta_type = start_beta;
beta_value = start_beta + noof_betas;
start gamma = start_beta + noof_betas *2; noof_gammas = 256;
end_gamma = start_gamma + noof_gammas;
// .... note that the beta array has two items in it
That makes moving them / changing the array size easier.