Fred wrote:A pointer is always the same size (which is processor dependent), whatever the type (structure or not) you put after. A pointer is just an easy way to access a structured memory area. And yes, *Pointer.l and *Pointer.Long is the same, except than with the second one you can really read the long at the specified address, due to the 'l' structure field.
Right i think i get it now!

BUT when you say that 'A pointer is always the same size (which is processor dependent), whatever the type (structure or not) you put after'. can be proved with this piece of code:
Code: Select all
test.l = 10
*pointer.b = @test
Debug *pointer
As you can see the pointer is defined as a byte but in reality, it holds a bigger value than that type can hold, so yes it is a long internally.
But this also throws up an anomally, look at this:
Code: Select all
*pointer.s = "Testing"
Debug *pointer
Here the '.s' string type does make a difference.
I think a note should be added to the docs to clarify that the type doesn't make a difference in pointer size, apart from the string type which does.