Joozey, you're explanations are very appreciated!
I have an additional question though, hope you don't mind.
I'm still thinking in ways of c-script how to solve a certain task.
I read your codes and explanations the third time, and I think my problem is that I think more 'material', as you might know or not, I programed a fish game where the player collects fishes in a swarm to keep an evil fish in a safe distance.
This 'collecting' might be similar to that of an inventory.
At the beginning of a level, I place the fishes in the level, the swarm gets an array to save the handle of each fish that has been collected while the fish saves in a skill the number of its place in the array, and when the fish leaves the swarm, because it dies or it flees because the evil fish comes to near to it, it resets it place in the array to zero, and its skill as well.

What advantage has a struct as you use it in your example to the way that I just described?