Thanks for the help with dynamic allocation of arrays.
Can any body help me with these two questions:
1) Is it possible to use a notation like the this in C:
         item->next_item->data->name = 'test name'
   and if it is, how is it done?
2) To get data out of an array by the help of pointers
type 
 arraytype  = array[1..100, 1..100] of interger;
var
 a: arraytype;
 k : ect..
..
max :=0;
 for k := 51 to 100 
begin
 if A[50,k]>max then 
    max := A[50,k];
end;
or
 for k := 51 to 100 
begin
 if A[k,50]>max then 
    max := A[k,50];
end;
I am thinke of something like this not very nice example:
 finish_ptr := addrs(A[50,100])
 a_ptr := addrs(A[50,51])
 max_ptr := a_ptr;
incrementing value/function ?
while a_ptr <> finish_ptr do
begin
  (a_ptr := a_ptr + incrementionvalue) / (incremention function (a_prt));
  if a_ptr > max_ptr then
      max_ptr := a_ptr;
end;
 
If it is possible how do I calculate the incrementation value(x) for both
A[50, 51+x] and A[51+x,50]
or make a function/procedure?
3) Is there a good place or textbook to find information
    about working with pointers in pascal and datastructures?
I will be gratefull for any help,
klaus