There are a million problem with C that come before curly braces. So many of the people that venerate C either live in a reality distortion bubble or don't actually writing C. I've always found C a disaster for generating good assembly. to start: https://gcc.gnu.org/onlinedocs/gcc-4.7.0/gcc/C-Extensions.ht... we see that bare C has: - no vectorization/SIMD support - no hinting at likely branches - no way to prefetch…
I'm not sure what you mean here. On embedded targets, static data declared 'const' will be put in with the program memory, and so will be definitely read-only. Casting the pointer and writing to it will cause a hard fault (or segfault, or whatever the equivalent is on your platform).