First, read the post by Nick Gammon at the top of this Forum for the way you should post code here. Also, it will help us if you use Ctrl-T on the source code before you post it...it's easier for us to read.
Second, as the others pointed out, this statement:
It would be nice an better to read if i could address the single values by name
Obviously, the values don't HAVE names. The variables that the values are (to be) stored in have names, at compile time. They do not have names at run time.
I don't understand the benefit of accessing unnamed data by name. Assigning names to variables that hold index values makes sense.
jorabo:
It would be nice an better to read if i could address the single values by name and not by index.
You could do that using enums or symbolic constants, like:
#define NAME0 valarr[0] // Place first at the top of the file
#define NAME1 valarr[1]
#define NAME2 valarr[2]
// More code...
Serial.println(NAME0, HEX);
Serial.println(NAME1, HEX);
Serial.println(NAME2, HEX);
I'm not sure what the advantage is to you of doing it. If that's all you're trying to do, is there any need for the struct?