Pointers make my head hurt, but a quick look suggests to me that
you are trying to map an array of VAR's (the entity skills) over the
top of a structure of varied elements (two ints and a float).
VARS, INTs and FLOATs are stored in four bytes of memory, BUT the
format they are store in varies greatly.
Your concept could 'possibly' work while all the values are zero,
but after that, all bets are off.
Change your struct to be all VARs and it looks to be workable.