Yesterday, I learned that I had a completely wrong concept in mind of what typecasting in #C actually is.
Now, I learned about #punning, a ridiculously cumbersome way to save raw data of a variable of one type into memory of another type (say, I have `floats` and need to save them in a `uint32_t` typed memory space).
Granted, I am stupid, because instead of this, I could simply have two or more pointers to the memory region. One as type `uint32_t`, and one as `float`.
Still, both ways feel weirdly far-from-hardware, and thus un-C-ish.
Like, when I get to mess up memory, why make it so cumbersome?
Also: I hereby advocate to add #hardwarenah (adj.) to the English language.
@cweickhmann Having two pointers that alias each other and which are not of compatible types isn't really allowed and one reason why some code breaks when -fstrict-aliasing is active.
@pancomputans I realise an MWE would make this more concrete, but I'd put this on stackexchange somewhere instead.