Yes. Prefer the second example over the typeless pointer, though.
The reason that it is the correct way, using a typed pointer, is that when you would use a record type itself you will get an endless loop if the compiler would not prevent it. And an untyped pointer is almost never a good idea.
Using a record itself would expand into infinity..... (Think!)