In accordance with standard mandates, this code looks normal. a pointer to a character type can be used to indicate an object without violating the alias rule.
To quote the standard, chapter ยง6.3.2.3
[...]. When a pointer to an object is converted to a pointer to a character type, the result points to the low address byte of the object. Successive increments of the result, up to the size of the object, give pointers to the remaining bytes of the object.
source share