Good day lads. Please help me if you can, because I am stuck a bit.

Lets say I have this
Code:
-== Parseris ==-
Parsing file type: material

- 1.000                                            addr: 0x22fd5c
- 1.202                                            addr: 0x22fd5c
- ambient_shader                           addr: 0x22fd5c
-- default_ambient_shader.shader addr: 0x22fcbc
-- blend                                           addr: 0x22fcbc
--- 1.00000                                     addr: 0x22fc1c
--- 2.000                                         addr: 0x22fc1c
--- 2.00000                                     addr: 0x22fc1c
--- 3.00000                                     addr: 0x22fc1c
--- 4.00000                                     addr: 0x22fc1c
-- diffuse                                         addr: 0x22fc1c
--- 2.0000                                       addr: 0x22fb7c
--- alfa                                            addr: 0x22fb7c
---- 99.99                                       addr: 0x22fadc
- texture_unit                                addr: 0x22fadc
-- textura.png                                addr: 0x22fa3c
-- RBGA                                          addr: 0x22fa3c
- texture_unit                                addr: 0x22fa3c
-- 1.00                                           addr: 0x22f99c
I just writte each element pointer address.
Question:
1) Does it realy have to be like this

- 1.000 addr: 0x22fd5c
- 1.202 addr: 0x22fd5c

I allways thouth that
- 1.000 addr: 0x22fd5c
- 1.202 addr: 0x22fcbc

2) There is a different depht of data. as you see - -- ---- and so on. So as in first question where we see that the same level data have the same address. So why

- texture_unit addr: 0x22fadc <---------- This
-- textura.png addr: 0x22fa3c
-- RBGA addr: 0x22fa3c
- texture_unit addr: 0x22fa3c <----------- This

Why different address.


Thankyou in advice. I just lost a bit there ....