I agree with waran, the speed should be the same and I wouldn't wonder if the generated code would be the same, too. I'm not aware of any fpc switch that would make SomeWordPtr[20] point to something other than to elem. no. 21 (providing it's pointing at the beginning of some word array). Dynamic arrays need to be allocated before accessing just like pointers; the allocated memory can be resized with ReAllocMem easily.